Generates Halo 2 zero-knowledge proofs for all Orchard actions in the PCZT.
Signature
function prove_transaction(pczt: WasmPczt): WasmPczt
func ProveTransaction(pczt *Pczt) (*Pczt, error)
fun proveTransaction(pczt: Pczt): Pczt
Parameters
The PCZT to add proofs to
Returns
Updated PCZT with Orchard proofs.
| Operation | First Run | Cached |
|---|
| Build proving key | ~10 seconds | N/A |
| Generate proofs | ~1-2 seconds | ~1-2 seconds |
Example
// Pre-build proving key (optional, for better UX)
if (!t2z.is_proving_key_ready()) {
t2z.prebuild_proving_key();
}
// Generate proofs
const provedPczt = t2z.prove_transaction(pczt);
// Verify proofs were added
const info = t2z.inspect_pczt(provedPczt.to_hex());
console.log('Has proofs:', info.has_orchard_proofs);
See Also