
Learn to build decentralized todo app by setting up Hardhat and Alchemy, writing Solidity for add, display, and remove, testing, deploying to testnet, and building a React frontend with MetaMask.
Set up a hardhat development environment to test, compile, deploy, and debug decentralized applications, initialize npm, install hardhat, create a basic project, and add OpenZeppelin/contracts and dotenv.
Discover how to connect Alchemy and Metamask keys to a Hardhat project, configure dotenv, and deploy a Solidity todo app on that network.
Create a solidity task contract named TaskContract, define a Task struct (id, title, isDeleted) and task array, map tasks to owners, and add an external addTask function that emits event.
Learn to implement delete and fetch task functionality in a Solidity-based decentralized todo app, including ownership checks, isDeleted state, and retrieving a user's non-deleted tasks.
Write unit tests for a Solidity contract using Mocha and Chai, deploy the contract in test setup, seed five dummy tasks, and verify the add task function emits correct events.
Run the final unit tests for the decentralized todo app contract, validating add, get all, and total task counts, and verify delayed and delete task events.
Write a deployment script in Hardhat to deploy your Solidity contract to the test network, log deployed address, and verify on Etherscan; frontend work uses React in the next module.
Build a React frontend to interact with a deployed smart contract by setting up a Create React App project, wiring the contract address and artifacts, and installing UI dependencies.
Connect Metamask wallet in a decentralized todo app by writing a connect wallet function, validating the correct network, retrieving accounts, and enabling adding tasks.
Add task functionality to a decentralized todo app by connecting the client to a smart contract, creating a task object, and calling the contract function to store new tasks.
Implement delete task and fetch all tasks in a decentralized todo app using Solidity, handling errors with try/catch and integrating provider, signer, and contract calls to manage tasks by key.
Create the task component using material ui elements, accepting task data and an on-click function, then map tasks to the component and connect to wallet on render.
Apply basic css styling to the list and connect wallet button in the decentralized todo app, including centering, borders, colors, and typography. Conclude by testing the app and sharing code.
Test the complete decentralized todo app by verifying wallet connections, network changes, and smart contract interactions; add, fetch, and delete tasks while ensuring transactions finalize on the blockchain.
Blockchain is a key technology behind Web3. It is most-often associated with the cryptocurrency bitcoin and is the technology that underpins it. The bitcoin blockchain is a public ledger of activity of the bitcoin network. But bitcoin is not owned by a single company or person and it is not issued by a central authority like a central bank. Instead, it is decentralized and the network is maintained by a global group of people running specialized computers.
In this course we will learn how to create a complete decentralized Todo application from scratch. We will be using Solidity for the smart contract, hardhat for testing and deployment purpose, Ethers js to communicate with the contract, Metamask to sign the transaction, React js for the frontend and Alchemy as the blockchain node provider. By the end of the course you will understand all the concepts required to apply for a developer job or even build your own application on the Ethereum blockchain.
Our stack
Solidity (To write our smart contract)
Hardat (build, test and deployment framework)
React (Create our frontend)
Ethers (web3 library for interacting with the blockchain and our smart contract)
Alchemy (Ethereum node provider)
As cryptocurrency and blockchain attain their increasing success rate every year, there is an increase in job opportunities provided in blockchain and cryptocurrency sector. The jobs in blockchain are growing at an exponential rate of 2,000-6,000% while offering salaries higher than 50-100% than conventional developers. In the field of blockchain, one can work as a blockchain developer.