An adaptation of Semaphore v4 simplified and using Foundry for the contracts while also adding the ability to decrypt proofs using STARK-friendly asymmetric ElGamal encryption as implemented by Shigoto-dev19
Get started using the example app!
Network | Contract |
---|---|
Holesky | 0x0xBE5aaa6dA0445d4a9989702E0FB8B590039112f1 |
You must have Node.js, Yarn, Foundry, and Circom installed.
$ git clone git@github.com:numtel/zk-group-decryptable.git
$ cd zk-group-decryptable
$ yarn
# Configure circuit
$ npx circomkit compile semaphore
$ npx circomkit ptau semaphore
$ npx circomkit setup semaphore
$ npx circomkit instantiate semaphore
$ npx circomkit contract semaphore
# Ready to run tests
$ yarn test
# Configure to deploy
$ cp .env.example .env
$ vim .env
$ yarn deploy:holesky
MIT