@orbinum/proof-generator
v3.0.0
Published
ZK-SNARK proof generator for Orbinum. Combines snarkjs (witness) with arkworks WASM (proof generation) to produce 128-byte Groth16 proofs.
Maintainers
Readme
@orbinum/proof-generator
Fast ZK-SNARK proof generator for Orbinum privacy protocol. Witness calculation (TypeScript/snarkjs) + Proof generation (WASM/arkworks)
Generate 128-byte Groth16 ZK-SNARK proofs in ~6-8.5 seconds. Same TypeScript code runs identically in Node.js, browsers, Electron, and Tauri.
New in v2.0: Circuit artifacts and WASM modules are now installed automatically as npm dependencies (@orbinum/circuits and @orbinum/groth16-proofs). No more manual downloads!
Quick Start
npm install @orbinum/proof-generatorDependencies are installed automatically:
@orbinum/circuits- Circuit artifacts (WASM, proving keys)@orbinum/groth16-proofs- Arkworks WASM proof generator
import { generateProof, CircuitType } from '@orbinum/proof-generator';
const result = await generateProof(CircuitType.Unshield, {
merkle_root: '0x...',
nullifier: '0x...',
amount: '100',
// ... more inputs
});
console.log('Proof:', result.proof); // 0x... (128 bytes)
console.log('Signals:', result.publicSignals); // ['0x...', ...]Documentation
- API Reference - Complete API, error handling, and usage examples
- Development Guide - Setup, testing, architecture, and contribution guide
Features
- ✅ Fast: ~8.5s end-to-end (500ms witness + 5-8s proof)
- ✅ Optimized: Direct decimal format pipeline (no conversion overhead)
- ✅ Compact: 128-byte proofs (50% smaller than snarkjs)
- ✅ Universal: Node.js, browsers, Electron, Tauri - same code
- ✅ Simple: No build tools, no Rust, no setup
- ✅ Type-Safe: Full TypeScript types
Supported Circuits
| Circuit | Use Case | | ---------- | ------------------------------------ | | Unshield | Withdraw from pool to public address | | Transfer | Private-to-private transfer | | Disclosure | Selective revelation |
Related Packages
- @orbinum/circuits - Circuit artifacts (installed automatically)
- @orbinum/groth16-proofs - WASM proof generator (installed automatically)
- orbinum/node - Substrate blockchain node
Migration from v1.x
If you're upgrading from v1.x:
- ✅ No code changes required
- ✅ Artifacts now come from npm instead of GitHub releases
- ✅ Faster installation (npm cache)
- ✅ Offline-friendly
- ❌ Old
circuits/andgroth16-proof/directories can be deleted
License
Dual-licensed under Apache 2.0 or GPL 3.0. See LICENSE-APACHE2 and LICENSE-GPL3.
