AbhinavSharma24 / BlockVote

BlockVote is an Ethereum blockchain technology based e-voting platform which lets voters elect candidate in an election.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BlockVote 🗳️

A decentralized voting system based on Ethereum blockchain technology.

Requirements

Setting up the development environment

Getting the requirements

  1. Download and install NodeJS

    node.js v14.15.4

    Download NodeJS from here.

  2. Install truffle and ganache-cli

    truffle v5.2.4
    ganache-cli v6.12.2

    npm install -g truffle
    npm install -g ganache-cli
  3. Install metamask browser extension

    Download and install metamask from here.

Configuring the project for development

  1. Clone this repository

    git clone https://github.com/AbhinavSharma24/BlockVote.git
    cd BlockVote
  2. Run local Ethereum blockchain

    ganache-cli

    Note: Do not close ganache-cli (the blockchain network needs to be running all the time)

  3. Configure metamask on the browser with following details

    New RPC URL: http://localhost:8545
    Chain ID: 1337

  4. Import accounts using private keys from ganache-cli to the metamask extension on the browser

  5. Deploy smart contract to the (local) blockchain

    # on the dVoting directory
    truffle migrate

    Note: Use truffle migrate --reset for redeployments

  6. Launch the development server (fronted)

    cd client
    npm install
    npm start

About

BlockVote is an Ethereum blockchain technology based e-voting platform which lets voters elect candidate in an election.

License:MIT License


Languages

Language:JavaScript 82.8%Language:CSS 10.7%Language:Solidity 5.4%Language:HTML 1.1%Language:Shell 0.0%