This project demonstrates a secure, full stack Decentralized Autonomous Organization governed by an ERC-20 token. The DAO contract manages proposal creation, delegation, voting, and distribution of funds held by the DAO treasury. The DAO leverages the Ethereum blockchain to ensure transparency and democratized control over funds distribution.
- Creation and voting on proposals by token holders
- Delegation of votes to other DAO members
- Ability to finalize passed proposals and distribute funds
- Front-end application for user-friendly DAO interactions
- Comprehensive testing and deployment scripts
Technologies Used:
- JavaScript
- React
- Solidity
Libraries Used:
Testing Libraries:
Smart Contract Libraries:
Smart Contract and Testing Environment:
To test the Crowdsale locally, run the following:
npx hardhat node
npx hardhat --network localhost scripts/1_deploy.js
npx hardhat --network localhost scripts/2_seed.js
npm run start
- Deploy Token and DelegatedDAO contracts
- Seed Investors and DAO with Tokens
- (Un)Delegate Votes
- Create Proposals
- Vote on Proposals
- Finalize Proposals:
- If quorum reached, proposal is finalized as Passed and funds are distributed
- If proposal expired, it is finalized as failed and no funds are distributed