Chainvote allows small organizations to leverage blockchain capacities in order to organize votings.
The project is an enhancement of the three first projects of the blockchain developer course from Alyra, the French blockchain school.
- https://github.com/alexisljn/alyra-voting-project Smart contract project
- https://github.com/alexisljn/alyra-test-project Smart contract testing project
- https://github.com/alexisljn/alyra-front-project Frontend project
I have rewritten the contract to avoid loops and other iterations to avoid gas consumption. I wasn't really aware on how the gas aspect is clearly leading the way we write code when I did the first version.
I kept most of the features that was requested in the Alyra project to preserve the continuity between the projects
- Docker
- Make
Don't forget to fill .env files to run the project locally
docker compose up
to launch container and start hardhat local node
make compile
Read makefile to consult options
make test
make coverage
Read makefile to consult options
make run
make console
make bash