Blockchain, which is the underlying technology of the first cryptocurrency Bitcoin, has drawn a lot of global attention in recent years. Its notable characteristics of distributed ledger, trustless system and immutability not only makes it a disruptive innovation in the electronic payment industry but also potential solutions for other areas that required trust establishment. An electronic voting (E-voting) scheme is a use-case where all attributes of blockchain can offer a mechanism for an open, fair and universal verifiable electoral process. We propose Votereum, an E-voting system that utilizes the blockchain technology. The proposed system is empowered by Ethereum platform, including one server manages the entire system and the other handles all blockchain-related requests. The implementation is also deployed to Rinkeby testing network for evaluation on the feasibility.
- Nodejs v9
- MongoDB version 3.6 and above
- erlang
- RabbitMQ
- Babel CLI or using npm
npm install --save-dev @babel/core @babel/cli
- amqplib or using npm
npm install --save amqplib
- Angular CLI or using npm
npm install -g @angular/cli
npm install
- Download and install our OBR server
- Run
mongod
- RabbitMQ service is running
- Run
npm start dev
to run AS server. => Express server will run at localhost:5000
- RabbitMQ service is running
- Run
npm start prod
to run AS server. => Express server will run at {Your VM IP}:5000
- Kill terminal that run
npm start
then runnpm run debug
- Using Node.js V8 --inspector Manager to connect debug port
- Express debug server will run at localhost:9215
- Run
npm run ui
- Open browser, navigate to localhost:4200
- Run
npm run ui-prod
- Mapping your VM ip to port
8080
- Open browser, navigate to {Your VM IP:8080}
Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI README.