An e-voting system using Blockchain
- Install Ganache on your system.
Ganache is a personal Ethereum blockchain which you can use to run tests, execute commands, and inspect state while controlling how the chain operates.
- Install the required packages by running:
pip install -r requirements.txt
- Add a brownie development network by running the following command:
brownie networks add development gui host='http://127.0.0.1:7545' cmd=ganache
You have now told brownie that you have a blockchain network, meant for development purposes and named it gui, since it has a nice gui interface from ganache. We use this blockchain network to deploy our smart contracts from inside e-vo.
- Open Ganache.
- Run the following commands.
cd path-to-evo/
python deploy.py
python manage.py runserver
If you wish to make any changes to the blockchain smart contracts, you mut recompile it after doing so. The following comand does it.
cd path-to-evo/ethereum/
brownie compile --all
- eth-brownie documentation
- web3.py documentation
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.