Dvote is a decentralized voting application where user can register as a voter or a candidate. On successful registration user will receive one DvoteCoin which is a custom ERC-20 token of the dvote application which will be use for voting their favourite candidate to be the winner.
To be registered as a candidate user will required 0.001 eth to be a candidate & candidate with highest voting will be the winner of the dvote voting & will receive 50% of the eth generated by the dvote contract.
Rules & Features:
-
Voter & Candidate will receive one dvote coin.
-
Voter can only vote once & dvote coin is necessary to vote.
-
0.001 eth is required to be a candidate of dvote.
-
Owner of the contract will approve the candidate.
-
Voter can only vote if the candidate is approved.
-
Owner of the contract will release the amount to the winner which is 50% of the eth amount generated by dvote contract to the highest voted candidate of the voting. Once the amount is released the voting gets over & the contract is reseted.
There are 3 main contracts:
i) Dvote : It's the main contract. Used to manage voters, voting, approving candidates, transferring amount & resetting contract.
ii) DvoteCandidate : It's used for managing candidates & their activity of the dvote application.
iii) DvoteCoin : It's used for creating Custom ERC-20 DvoteCoin of the application.
Smart contracts & their integration to frontend is ready.
https://github.com/Dilkashpeshimam18/dvote-dapp/tree/main/contract/contracts
https://github.com/Dilkashpeshimam18/dvote-dapp/blob/main/client/src/app/context/VotingProvider.js
UI of the application is under development.🔥
Tool & Technologies Used : Next Js, Solidity, Web3.js , Ethereum, ERC-20, Blockchain, Remix IDE, Hardhat & Tailwind CSS.
Feel free to give a star to this repo, if you like this application.
And if you want to build something similar or more into blockchain space, do connect with me over a chat on linkedin or gmail.