Skip to content

Latest commit

ย 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Decentralized Voting System Using Blockchain Technology

๐Ÿ“Œ About the Project

The Decentralized Voting System Using Blockchain Technology is a blockchain-based voting application developed as an academic project.

The main purpose of this project is to demonstrate how blockchain and smart contracts can be used to make voting more secure, transparent, and tamper-resistant.

The system uses Ethereum blockchain technology and allows users to connect their wallet using MetaMask and cast their votes through a web interface.


๐Ÿš€ Features

  • Blockchain-based voting
  • Secure vote recording
  • MetaMask wallet integration
  • Smart contract-based voting
  • Ethereum Sepolia test network support
  • Ganache local blockchain support
  • Simple and user-friendly interface
  • MySQL database integration
  • Vote verification through blockchain transactions

๐Ÿ› ๏ธ Technologies Used

  • Blockchain: Ethereum
  • Smart Contract: Solidity
  • Test Network: Sepolia
  • Wallet: MetaMask
  • Smart Contract Tool: Remix IDE
  • Local Blockchain: Ganache
  • Framework: Truffle
  • Frontend: HTML, CSS, JavaScript
  • Runtime: Node.js
  • Database: MySQL
  • Version Control: Git & GitHub

๐Ÿ”— Network Configuration

Sepolia Test Network

The project can be tested on the Ethereum Sepolia test network using test ETH.

Ganache Local Network

For local testing:

RPC URL: http://localhost:7545
Chain ID: 1337
Currency: ETH

๐ŸฆŠ MetaMask

MetaMask is used to connect the user's blockchain wallet with the voting application.

The user can:

  1. Open MetaMask.
  2. Connect the wallet to the required network.
  3. Open the voting application.
  4. Connect the wallet.
  5. Select a candidate.
  6. Confirm the transaction in MetaMask.

Never share or upload your MetaMask private key or recovery phrase.


๐Ÿ“œ Smart Contract

The voting logic is implemented using a Solidity smart contract.

The smart contract manages the voting process and records voting-related information on the blockchain.

The contract can be developed and deployed using Remix IDE.


๐Ÿ—„๏ธ Database

The project also uses MySQL for supporting application data.

Database name:

voter_db

XAMPP is not required for this project. MySQL can be used directly.


โš™๏ธ How to Run

1. Clone the Repository

https://github.com/bhavyweb3/Decentralized-Voting-System.git

2. Open the Project

cd YOUR-REPOSITORY

3. Install Dependencies

npm install

4. Start Ganache

Run Ganache and use:

RPC: http://localhost:7545
Chain ID: 1337

5. Connect MetaMask

Connect MetaMask to the Ganache network or Sepolia test network.

6. Deploy the Smart Contract

The smart contract can be deployed using Remix IDE or Truffle.

7. Run the Application

Open the frontend and connect MetaMask.


๐Ÿ—ณ๏ธ Voting Process

User
  โ†“
Open Voting Website
  โ†“
Connect MetaMask
  โ†“
Select Candidate
  โ†“
Submit Vote
  โ†“
Confirm Transaction
  โ†“
Smart Contract
  โ†“
Blockchain

๐Ÿ”ฎ Future Scope

  • Better voter verification
  • Improved privacy
  • Mobile application
  • Better security
  • Zero-knowledge proof integration
  • Improved user interface
  • Advanced election management

โš ๏ธ Disclaimer

This project is developed for academic and educational purposes. It is a prototype and should not be used for real-world elections without additional security, privacy, authentication, and legal requirements.


โญ Acknowledgement

This project demonstrates the use of Blockchain, Ethereum, Smart Contracts, MetaMask, and Web Technologies to develop a decentralized voting system.

About

A decentralized voting system built with blockchain and smart contracts on the Sapholia testnet. It enables secure, transparent, and tamper-resistant voting with automated vote counting, decentralized record keeping, and verifiable election results.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages