HELLO EVERYONE!
A decentralized todo list application built on the Ethereum blockchain. This project demonstrates how to build a basic dApp (decentralized application) using Solidity smart contracts and a web-based frontend.
This project implements a simple todo list that allows users to:
- Create new tasks
- Mark tasks as completed
- View all tasks and their completion status
All data is stored on the Ethereum blockchain, making it transparent, immutable, and decentralized.
-
Blockchain:
- Solidity ^0.8.0 (Smart Contract Language)
- Truffle (Development Framework)
- Ganache (Local Blockchain)
-
Frontend:
- HTML/CSS
- JavaScript
- jQuery
- Web3.js (Ethereum JavaScript API)
- MetaMask (Ethereum Wallet)
Before running this project, you should have the following installed:
- Node.js and npm
- Truffle (
npm install -g truffle
) - Ganache - Personal Ethereum blockchain
- MetaMask - Browser extension for interacting with Ethereum
git clone https://github.com/akshat16206/eth-to-do-list.git
cd eth-to-do-list.git
npm install
Launch Ganache and create a new workspace (or use an existing one).
- Connect MetaMask to your Ganache blockchain (usually http://localhost:7545)
- Import an account from Ganache to MetaMask using the private key
truffle compile
truffle migrate --reset
npm run dev
Open your browser and navigate to http://localhost:3000
ethereum-todo-list/
├── contracts/ # Smart contracts
│ ├── Migrations.sol
│ └── TodoList.sol
├── migrations/ # Deployment scripts
│ ├── 1_initial_migration.js
│ └── 2_deploy_contracts.js
├── src/ # Frontend application
│ ├── app.js # Application logic
│ └── index.html # User interface
├── test/ # Test scripts
│ └── todolist.test.js
├── truffle-config.js # Truffle configuration
└── package.json # Project dependencies
To run the tests for the smart contracts:
truffle test
- Connect to the application with MetaMask
- Create a new task by typing in the input field and pressing Enter
- Check the checkbox next to a task to mark it as completed
- The tasks will be stored on the blockchain and persist across sessions
- Aditi Agrawal
- Akshat Gupta
This project is licensed under the ISC License - see the LICENSE file for details.
- This project was inspired by Dapp University
- Special thanks to all contributors and the Ethereum community
- This is a prototype/educational application and may not be suitable for production use
- Gas costs will be incurred for each transaction on the real Ethereum network
- The user interface is optimized for desktop browsers with MetaMask installed