Skip to content

orbinum/proof-generator

Repository files navigation

@orbinum/proof-generator

Fast ZK-SNARK proof generator for Orbinum privacy protocol. Witness calculation (TypeScript/snarkjs) + Proof generation (WASM/arkworks)

npm version License Node.js

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-generator

Dependencies 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

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
PrivateLink Privacy-preserving cross-chain identity dispatch

Related Packages

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/ and groth16-proof/ directories can be deleted

License

Dual-licensed under Apache 2.0 or GPL 3.0. See LICENSE-APACHE2 and LICENSE-GPL3.

About

ZK-SNARK proof generator for Orbinum. Combines snarkjs (witness) with arkworks WASM (proof generation) to produce 128-byte Groth16 proofs.

Resources

License

Apache-2.0, GPL-3.0 licenses found

Licenses found

Apache-2.0
LICENSE-APACHE2
GPL-3.0
LICENSE-GPL3

Stars

Watchers

Forks

Packages

 
 
 

Contributors