couger-inc / cream

zkCREAM is zk-SNARK based anonymized voting application using a token mixer

Home Page:https://zkcre.am

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

zkC.R.E.A.M

Actions Status

Zero-Knowledge Confidential Reliable Ethereum Anonymous Mixer

Requirement

  • node >= v14.0
  • circom >= v2.0.0
  • Following C++ libraries:

Contained external packages

  • A modified version of MACI v1 branch (6e2b1011198e59f61ca80404c97705b813a655c4)
  • A modified version of circom_runtime 0.1.17 (afce802d66a1c26c4220e529b699fda22057b8e9)

Setup

Config file

Adjust packages/config/prod.ts as needed:

Make sure that you use the same merkle tree level in packages/config/prod.ts and packages/circuits/prod/vote.circom.

Building Cream

$ npx lerna bootstrap
$ npx lerna run build

Running Tests

  1. Install circom 2 following circom documentation

  2. Build test-sites

    $ npx lerna run build:test-site
    
  3. Start IPFS docker container

    $ yarn start:ipfs
    
  4. Run tests:

    $ npx lerna run test
    

Cleaning up all generated files

$ yarn clean

TODO upon MACI 1.0.4 release

  • call ./scripts/compileSol.sh in maci-contracts before running E2E tests

About

zkCREAM is zk-SNARK based anonymized voting application using a token mixer

https://zkcre.am

License:GNU General Public License v3.0


Languages

Language:TypeScript 51.2%Language:Solidity 14.3%Language:Assembly 14.1%Language:EJS 6.6%Language:JavaScript 4.7%Language:Shell 4.7%Language:C++ 3.6%Language:C 0.8%Language:Dockerfile 0.0%