Skip to content
This repository was archived by the owner on Dec 23, 2024. It is now read-only.
/ cream Public archive

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

License

Notifications You must be signed in to change notification settings

couger-inc/cream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4c51422 · Feb 18, 2022
Feb 9, 2022
Feb 8, 2022
Feb 8, 2022
Feb 11, 2022
Feb 8, 2022
Jul 21, 2020
Feb 8, 2022
Dec 4, 2020
Dec 1, 2020
Jul 22, 2020
Feb 11, 2022
Feb 11, 2022
Feb 8, 2022
Feb 8, 2022
Feb 8, 2022

Repository files navigation

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