(Translated by https://www.hiragana.jp/)
GitHub - darkn3to/elexis: A Blockchain based Voting App.
Skip to content

darkn3to/elexis

Repository files navigation

ELEXIS - A Blockchain Voting App

This is Elexis, a decentralized voting system built on the Volta testnet. This secure and transparent solution guarantees tamper-proof voting records, enabling users to cast their votes remotely while prioritizing anonymity and fraud prevention. Dive into this project for a dependable and decentralized approach to voting processes.

Features

• Simple and elegant UI for a seamless voting experience.

• Leverages blockchain for fraudless and transparent voting.

• Prioritizes user anonymity.

Requirements

HardHat for creating and managing our smart contracts.

MetaMask browser extension for performing transactions.

Live Server extension for running our web-app locally.

Installation

  1. Open terminal.

  2. Clone the repository by using the command:

    git clone https://github.com/darkn3to/elexis.git

    or simply download the zip file from the code dropdown button above.

  3. Download and install node.js. Add it to your path.

  4. Install hardhat by running the following command in the terminal:

    npx hardhat

    then

    npx hardhat init

    and

    npx hardhat compile
  5. Create .env file in the root directory as follows :

     API_URL="https://volta-rpc.energyweb.org/"
     PRIVATE_KEY="THE_HIDDEN_KEY_IN_YOUR_METAMASK_ACCOUNT" 
     CONTRACT_ADDRESS="TOKEN_CONTRACT_ADDRESS" 

Usage

  1. Add MetaMask extension to your browser and create an account if not already created.

    • You would also need to add Volta TestNet to your account. Go to this link to get the details required to do so. Then goto this link to add Volta tokens needed to perform transactions.

  2. Open deploy.js and add/remove names as per requirement.

  3. Run the command:

    npx hardhat run --network volta scripts/deploy.js
  4. Deploy the dApp using live server.

Some Screen Shots

candidates

winner

voting_page_interface

vote_status

view_candidates

connect_metamask

Live Demo

Elexis