The Decentralized Voting System is a blockchain-based application that facilitates secure, transparent, and immutable voting processes. Built on Ethereum, this system uses smart contracts to handle the creation of proposals and the voting process, ensuring a tamper-proof record of votes.
- Proposal Creation: Allows users to create new proposals for voting.
- Voting: Enables registered voters to cast their votes on proposals.
- Voting Status: Provides feedback on whether a user has already voted or not.
- Vote Counting: Accurately counts and displays votes for each proposal.
- Access Control: Ensures only registered voters can participate.
- Smart Contracts: Solidity
- Blockchain Interaction: Viem, Wagmi
- Front-End Framework: React
- State Management: Redux Toolkit
- Styling: Tailwind CSS
- Node.js
- npm or yarn
- MetaMask or another Ethereum wallet
- Clone the repository:
git clone https://github.com/akhil888binoy/VotingSystemDapp.git
- Navigate to the project directory:
cd decentralized-voting-system
- Install the required dependencies:
npm install # or yarn install
- Update the smart contract addresses and other configurations in the
.env
file:PRIVATE_KEY="..." RPC_URL="..." ETHERSCAN_API_KEY="..."
-
Start the development server:
npm start # or yarn start
-
Open your browser and go to
http://localhost:3000
.
- Connect your wallet.
- Navigate to the "Create Proposal" section.
- Enter the proposal name and description.
- Submit the proposal.
- Connect your wallet.
- Navigate to the "Vote" section.
- Select the proposal you want to vote on.
- Submit your vote.
- Connect your wallet.
- Navigate to the "Voting Status" section.
- View your voting status and history.
- Voting Contract:
0xCf2F0Aa297169864EC554d83D35c86E4b3677AD9
This project is licensed under the MIT License. See the LICENSE file for details.
- Thanks to the Ethereum community for their support and resources.
- Special thanks to the creators of Viem and Wagmi for their excellent libraries.