A decentralized voting system built on the Ethereum blockchain.
BlockProffer is a decentralized voting system built on the Ethereum blockchain. It is a web application that allows users to create and vote on ballots. The application is built using React, a JavaScript library for building user interfaces, and web3.js, a JavaScript library that allows for interaction with the blockchain. The smart contract is written in Solidity, a contract-oriented, high-level language for implementing smart contracts on the Ethereum blockchain.
-
Secure voter registration and authentication: A system that ensures that only eligible voters can register and that their identities are verified before they can cast their vote.
-
Transparency: A system that allows voters to see how their vote was counted and that their vote was recorded correctly.
-
Accessibility: A system that allows voters to cast their vote from any location, whether in person, by mail, or online.
-
Security: A system that prevents hacking, tampering, or other forms of malicious interference with the voting process.
-
Audibility: A system that allows for independent audits and recounts of the vote to ensure accuracy and integrity of the results.
-
Privacy: A system that keeps voter information confidential and protected from unauthorized access or disclosure.
-
Reliability: A system that is designed to withstand technical failures and other disruptions, ensuring that votes are recorded and counted correctly.
-
Voter education and information: A system that provides voters with clear and accurate information about the voting process, including how to register, where to vote, and what to expect on election day.
-
Voter feedback and complaint resolution: A system that allows voters to provide feedback on their voting experience and to report any issues they encounter, with a mechanism for resolving complaints in a timely and effective manner.
-
Voter accessibility: A system that makes voting accessible to all citizens including individuals with disabilities, elderly or low-literate citizens.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
- Clone the repository
git clone https://github.com/Semicolon-Stardust/blockproffer.git
- Install dependencies
npm install
- Start the development blockchain
ganache-cli
- Compile and migrate the smart contracts
truffle compile
truffle migrate
- Run the front-end application
npm run start