Prover Client

After setting up the Brevis Prover Service, developers can use the prover client to communicate with Brevis Prover Service.

Prove

The developer can use prove() to notify the Brevis Prover Service proving application circuit with inputs. The response will return AppCircuitInfo and Proof. Because of time consumption in proving, we recommend it be used for circuits with small amount of constraints only. Otherwise, proving parallelism will be broken.

NameTypeDescription

proveRequest

Brevis prover service will use it to prove circuit computation validity. It contains receipts, list of storage information and transactions used in application circuit

proveResponse

It contains application circuit info and circuit proof

ProveAsync

Unlike prove(), proveAysnc will not wait for application circuit proof. It returns a proof_id instead. Developers can retrieve proof from Brevis Prover Service later with this proof_id.

NameTypeDescription

proveRequest

Brevis prover service will use it to prove circuit computation validity. It contains receipts, list of storage information and transactions used in application circuit

proveAsyncResponse

It contains application circuit info and proof_id

GetProof

GetProof is used to retrieve proof from the Brevis Prover Service. Brevis Prover Service uses memory to persist the application circuit proof. When receiving a GetProof request, Brevis Prover Service will check whether the proof is ready. If it is ready, Brevis Prover Service will return proof and release it from memory. Hence, developers have to store the proof somewhere if there is an intention of proof data persistence.

NameTypeDescription

proveRequest

proveAsyncResponse

application circuit proof

Last updated