What problem does it solve?
It prevents common, costly integration mistakes when building Noir-based zero-knowledge privacy applications for the EVM, especially around proving, verifier generation, hashing choices, and cross-layer compatibility.
Core Features & Use Cases
- Noir + Barretenberg toolchain guidance: installs nargo and bb in the right order and documents the correct proving/verifying commands using
bb rather than removed nargo prove/verify.
- Correct Solidity verifier generation: explains how to generate and deploy the standalone
HonkVerifier.sol using bb write_solidity_verifier, including version/pragma and contract size considerations.
- Commitment-nullifier privacy pattern wiring: helps you choose between simple private proofs vs commitment-nullifier flows, and stresses the critical need for unlinkability (fresh burner wallet/relayer) when
msg.sender is public.
- Hashing and input-order parity across layers: enforces consistency of Poseidon variants, public input ordering, oracle hash configuration (
--oracle_hash keccak), and serialization so proofs verify on-chain.
Quick Start
Use the noir skill to set up a Noir circuit and generate a compatible Solidity verifier by running nargo compile and nargo execute, then using bb write_vk with --oracle_hash keccak and bb write_solidity_verifier, and finally wiring the deployed verifier address into your app contract.