AsbertMa / zkpvote-ui

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ZKPVote

An open source interface for ZKPVote - a serverless voting application in which no one except the voting authority knows the ballot contents.

  • Ballot verifiable
    • Voters can verify the existence of their ballots.
    • Anyone can verify the validity of a recorded ballot.
    • Recorded ballots are immutable.
  • Tally results universally verifiable
    • Anyone can verify that all and only the valid ballots have been tallied.
    • Anyone can verify the correctness of the tally results.
  • Voters are allowed to cast multiple times and the newer ballot will replace the previous one cast by the same voter.

Demo website

  • Website: zkpvote.vechain.org
  • Client: Sync. Visit env , download and install Sync.
  • Environment: VeChainThor Blockchain Testnet
  • Claim Token: Claim Testnet VTHO on Faucet to cover the transaction fee.

Voting process and features

Process

ZKPVote contract

Please see the @vechain-community/zkpvote-contracts repository. ZKPVote is using contractV2.

Screenshots

Home page

Proposal

Deployment

Clone

git clone https://github.com/vechain-community/zkpvote-ui.git
cd zkpvote-ui/

Deploy IPFS Server

You can refer to this link to deploy your own IPFS server.

Modify the configuration file

The configuration file is stored in the public/config.json, edit the file to modify the configuration.

Build

Run the following command to compile the source code.

yarn install

yarn build

Then the dist folder will be generated.

Deploy

You can use any web server (Nginx, Apache, etc) to deploy the project, you just need to put the dist folder to the specified location.

Because the project uses a browser history routing scheme, additional configuration is required, You can refer to this link.

About

License:GNU General Public License v3.0


Languages

Language:Vue 64.5%Language:TypeScript 33.6%Language:SCSS 1.0%Language:JavaScript 0.5%Language:HTML 0.4%