Skip to main content

Circuit

Defined in: lib/proof-system/circuit.ts:13

Constructors

new Circuit()

new Circuit(): Circuit

Returns

Circuit

Properties

_main

static _main: CircuitData<any, any>;

Defined in: lib/proof-system/circuit.ts:16

Methods

generateKeypair()

static generateKeypair(): Promise<Keypair>

Defined in: lib/proof-system/circuit.ts:25

Generates a proving key and a verification key for this circuit.

Returns

Promise<Keypair>

Example

const keypair = await MyCircuit.generateKeypair();

prove()

static prove(
privateInput: any[],
publicInput: any[],
keypair: Keypair): Promise<Proof>

Defined in: lib/proof-system/circuit.ts:45

Proves a statement using the private input, public input, and the Keypair of the circuit.

Parameters

privateInput

any[]

publicInput

any[]

keypair

Keypair

Returns

Promise<Proof>

Example

const keypair = await MyCircuit.generateKeypair();
const proof = await MyCircuit.prove(privateInput, publicInput, keypair);

verify()

static verify(
publicInput: any[],
verificationKey: VerificationKey,
proof: Proof): Promise<boolean>

Defined in: lib/proof-system/circuit.ts:72

Verifies a proof using the public input, the proof, and the initial Keypair of the circuit.

Parameters

publicInput

any[]

verificationKey

VerificationKey

proof

Proof

Returns

Promise<boolean>

Example

const keypair = await MyCircuit.generateKeypair();
const proof = await MyCircuit.prove(privateInput, publicInput, keypair);
const isValid = await MyCircuit.verify(publicInput, keypair.vk, proof);