This project serves as a development and testing ground for Circom-based zero-knowledge circuits. It is specifically configured for the groth16 proving system on the bn128 curve. The primary focus of this project is to facilitate rapid prototyping and iteration of ZK circuits.
Simply do:
bun installYou can see an example within src/index.ts. Run it with:
bun startFor the CLI, you can test the entire flow as follows:
- Compile circuit:
bunx circomkit compile sha256_32 - Prove with default input:
bunx circomkit prove sha256_32 default - Verify the proof:
bunx circomkit verify sha256_32 default - Create contract:
bunx circomkit contract sha256_32 - Create calldata:
bunx circomkit calldata sha256_32 default - Circuit specific setup
bunx circomkit setup <circuit> [ptau-path]
Notice that we use bunx instead of npx to use Bun!
Run tests with:
bun test