Website- ZkBlock The current sample zk-dapp has an age verification circuit.
Read walkthrough guide on Hackernoon
Run the following command on your local environment:
git clone https://github.com/heypran/zk-block.git
cd zk-block/ui
yarn install
Then, you can run locally in development mode with live reload:
yarn dev
Open http://localhost:3000 in the browser.
Now you play around with Age Verification UI, ( currently deployed on Polygon, and Harmony)
Create a file private.json
( refer private.example.json
) inside backend
folder and add your private key.
cd zk-block/backend
yarn install
yarn compile
- Using groth16
yarn compile:circuits
Please do not use this to compile circuits for production. Proper ceremony is required.
- Using Plonk
yarn compile:pks
Note: Plonks does not require phase 2 trusted ceremony per circuit, it's enough with the powers of tau ceremony which is universal.
This repo uses Hermez Cryptographic Setup with power of 14, which is more than enough for this repo purpose.
yarn test
Note: Frontend already has deployed contract address configured ( inside ui/src/config/constants
).
Polygon Testnet: 0xD8bfe046B2b2B66672841196E9aE3785200D5FE0
Harmony Testnet: 0x457900273036dB9C5157Fcb1072294C0E7e720F4
Select network - chain.ts
contains network configuration. Network selected for deployment is mentioned in hardhat.config.ts
file. Default is "ONE" ( HARMONY Network).
Run below command to deploy
yarn deploy:agecheck --network testnet
Everyone is welcome to contribute to this project.
- Add more beginner friendly circuits
- Improve the site's codebase
- Write tests
- Discuss ideas in issues
- Improve documentation