What problem does it solve?
Verifying Groth16 zero-knowledge proofs in .NET normally requires deep knowledge of BN128 elliptic curve pairing cryptography and manual parsing of snarkjs output files. This Skill provides a single-call API that consumes proof.json, verification_key.json, and public.json directly and returns a clear verification result.
Core Features & Use Cases
- One-Liner Verification: Call CircomGroth16Adapter.Verify() with the three snarkjs JSON strings to check proof validity without touching cryptographic internals.
- Tamper Detection: Detects modified proofs, altered public inputs, or mismatched verification keys, returning descriptive error messages such as "Pairing check failed" or input count mismatches.
- Use Case: Before submitting a transaction that relies on a ZK proof, a .NET backend verifies the Circom-generated proof off-chain using Nethereum.ZkProofsVerifier and rejects invalid submissions without paying gas.
Quick Start
Verify my Circom proof by loading proof.json, verification_key.json, and public.json and checking the result with Nethereum.ZkProofsVerifier.