A decentralized todo list application built with React and Ethereum smart contracts. This project demonstrates the integration of blockchain technology with a modern web frontend, allowing users to create, manage, and store their todos on the Ethereum blockchain.
- Connect to MetaMask wallet
- Create and manage todos on the blockchain
- Mark todos as completed
- Persistent storage on Ethereum network
- Real-time updates using Web3
- Responsive React UI
- React.js
- Ethereum
- Web3.js
- Solidity
- Truffle
- MetaMask
Before running this project, make sure you have the following installed:
- Node.js (v14.0.0 or later)
- npm
- MetaMask browser extension
- Ganache (for local blockchain development)
- Clone the repository:
git clone https://github.com/HelloSniperMonkey/eth-todo-list-react.git
cd eth-todo-list-react- Install dependencies:
npm install-
Start the local blockchain with Ganache
-
Deploy the smart contracts:
truffle migrate --reset- Start the development server:
npm startThe smart contracts are located in the contracts directory. To deploy them:
- Make sure Ganache is running
- Configure
truffle-config.jswith your network settings - compile the truffle contract with
truffle complie - Run migrations:
truffle migrate --reset- Connect MetaMask to your local network (Ganache)
- Import account by copying the private key from the first ganache address
- for the first time metamask will prompt you if you want to connect metamask to the site
- Create a new todo by entering text and clicking "Add Todo"
- Mark todos as complete by clicking the checkbox
- All transactions are stored on the blockchain
eth-todo-list-react/
├── contracts/ # Smart contracts
├── migrations/ # Truffle migrations
├── public/ # Public assets
├── src/ # React source files
│ ├── TodoList.js # TodoList component
│ ├── TodoList.css # TodoList style
│ ├── config.js # config file
│ ├── App.css # Main App style
│ └── App.js # Main App component
├── test/ # Test files
└── truffle-config.js # Truffle configuration
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
HelloSniperMonkey Maintained by Soumyajyoti Mohanta
- OpenZeppelin for smart contract libraries
- Truffle Suite for development tools
- React community for frontend resources
- this app has been created after reffering at dapp university youtube channel