Skip to content

nisiddharth/Blockchain-Voting-System

Repository files navigation

Blockchain based Distributed Voting System

Open Source Love License: GPL v3

A Blockchain based secure voting system with delegation support.

Special Features

  • Clean Interface for both Election Chairperson and Voters.
  • Support for delegation.

Screenshots

Chairman's Panel

Screenshot

Election Manager

Screenshot

Authorize Voter

Screenshot

Voter's Panel

Screenshot

Give Vote

Screenshot

Delegate Vote

Screenshot

View Results on election ending

Screenshot

To use

  • Make sure JDK 1.8 is installed on your system and added to System PATH.
  • Install Ganache on your system (It provides a one-click personal Ethereum blockchain).
  • Run Ganache on Port number 8545, leave other settings at their defaut.
  • Clone this git repository using
    git clone https://github.com/nisiddharth/Blockchain-Voting-System.git
    
  • Open project folder in NetBeans IDE 8.2 or above, configure library paths according to your system. All required libraries are present in ./required_jars directory.
  • Build project and run voting.system.ChairmanPanel to start Election process, and voting.voter.Vote to Vote.
  • At end of Election, press 'End Election and view Result' button to view Results.

Library Used

  • Web3j - Java and Android library for integration with Ethereum clients

Tools Used