Skip to content

chetanck03/Minor-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Voting DApp - Blockchain Based Election System

Live Demo

Project Overview

This Voting DApp is a decentralized application built on Ethereum blockchain that provides a secure, transparent, and tamper-proof electronic voting system. The application implements a token-based voting mechanism where only token holders are eligible to participate in the voting process, ensuring legitimate participation.

Smart Contracts

The project utilizes three main smart contracts deployed on the Ethereum network:

  1. ERC20 Token Contract: 0x0Ad2Cde68846d3EEd59DEDEeb5556a2209c69134

    • Standard ERC20 token implementation
    • Serves as the governance token for the voting system
  2. Voting Contract: 0xd677f1D5c612eDDD0Cffe6223ef0cD09CeBA1039

    • Manages the entire election process
    • Handles voter and candidate registration
    • Controls voting period and vote counting
    • Enforces token-based access control for voting
  3. Token Marketplace Contract: 0x6028ef583d67d95bb97F02eD5E83D1e1a6DeDB48

    • Provides a platform for buying and selling governance tokens
    • Implements dynamic pricing based on supply and demand
    • Ensures fair distribution of voting rights

Key Features

Token-Based Voting System

  • Only addresses with governance tokens can participate in the voting process
  • Ensures only legitimate stakeholders can influence election outcomes
  • Prevents vote manipulation and unauthorized access

Secure Voter Registration

  • Users can register as voters by providing personal information
  • Registration data is securely stored on the blockchain
  • Each voter is assigned a unique ID to track participation

Candidate Management

  • Supports registration of multiple candidates
  • Each candidate can represent different parties or platforms
  • Candidate information is transparently stored on-chain

Voting Administration

  • Role-based access control with admin and election commissioner roles
  • Admins can set voting periods, control voting status, and announce results
  • Prevents unauthorized manipulation of the voting process

Token Marketplace

  • Decentralized marketplace for buying and selling governance tokens
  • Dynamic pricing based on market demand
  • Ensures fair distribution of voting rights

Result Tabulation

  • Automatic counting of votes
  • Transparent and verifiable results
  • Instant announcement of election outcomes

Business Model

Governance Token Economy

The project implements a token-based governance model where:

  1. Voting Rights:

    • Only token holders can participate in voting
    • One token equals access to voting (not multiple votes)
    • Tokens represent stakeholder status in the ecosystem
  2. Token Distribution:

    • Initial token allocation to founding members/organization
    • Additional tokens available through the marketplace
    • Dynamic pricing ensures market-driven distribution
  3. Revenue Streams:

    • Transaction fees from token trades in the marketplace
    • Premium features for organizations hosting elections
    • Customization services for specialized voting requirements
  4. Sustainability:

    • Transaction fees support ongoing development and infrastructure costs
    • Token value tied to platform adoption and utility
    • Community governance for future platform development

Technology Stack

Frontend

  • React.js with Vite for a fast, modern UI
  • Ethers.js for blockchain interactions
  • TailwindCSS for responsive design
  • Web3 wallet integration (MetaMask)

Backend

  • Node.js server for handling off-chain operations
  • IPFS integration for decentralized storage
  • Pinata for IPFS pinning services

Blockchain

  • Ethereum network for smart contract deployment
  • Solidity for smart contract development
  • OpenZeppelin libraries for secure contract implementations

How to Use

For Voters

  1. Connect your Ethereum wallet to the application
  2. Purchase governance tokens from the marketplace
  3. Register as a voter with your personal information
  4. During an active election, cast your vote for your preferred candidate
  5. View election results after voting ends

For Election Administrators

  1. Deploy the contracts or use existing deployment
  2. Set up the election parameters (start time, end time)
  3. Manage voter and candidate registrations
  4. Start and monitor the voting process
  5. Announce results when voting concludes

For Token Traders

  1. Visit the Token Marketplace section
  2. Connect your Ethereum wallet
  3. Buy tokens using ETH or sell tokens to receive ETH
  4. Monitor token prices which fluctuate based on market demand

Future Improvements

  • Multi-chain support for greater accessibility
  • Enhanced privacy features using zero-knowledge proofs
  • Integration with decentralized identity solutions
  • Mobile application for easier voting access
  • Delegation of voting rights for representative voting models

Contributions

Contributions to this project are welcome. Please feel free to submit issues and pull requests to help improve the platform.

License

This project is licensed under the MIT License.

Releases

No releases published

Packages

 
 
 

Contributors