This project is a decentralized web application, that implements secure a secure voting system with the help of Merkle-Trees
...
Make sure your browser has metamask extension installed, as it will be used to communicate with the blockchain network.
-
Fork this repo, clone your fork, and open the terminal in the root directory of the project in your local system.
-
Install the required dependencies using:
yarn install
- Install Ganache globally to run a local blockchain network using:
npm i ganache --global
- Run your own local blockchain network using:
ganache
- Deploy the smart contracts using
yarn deploy
-
Add the local blockchain network to the metamask extension to test it.
-
Add the first few accounts shown in your screen to your metamask extension for tesing with different accounts.
Now your local blockchain network is up and running in port 8545 (or any other specified port)
- Navigate to the client directory using:
cd client
- Install the required dependencies using:
yarn install
- Run the frontend application using:
yarn dev
Now you're frontend application is running locally in port 3000 (or any other specified port)
The demos directory in the project's root directory, contains the demo for all the concepts, methods and data structures used in this application
Navigate to the Demos directory using:
cd demos
and follow the README file under that directory to test the demos!