Off-chain verification
Verification of proofs via an off-chain verification service
Proofs can be submitted to a verification service for checking. In order to use a verification service, an endpoint must be obtained from Nebra. (TODO: link)
Proofs can be submitted using the upa
command line tool, or programmatically with the Typescript SDK.
Verification using the upa
tool
upa
toolInstall the tool
The standalone upa
tool can be installed with:
It should then be available in the shell:
Specify a verification service endpoint
The --verify-endpoint
flag, or the VERIFY_ENDPOINT
env var can be used to specify the URL of the verification service to be queried. It is often convenient to use a .env
file:
Verifying proofs in snarkjs format
Use the upa off-chain verify-snarkjs
command:
(Use --help
for the full list of arguments)
Verify proofs in gnark format
Use the upa off-chain verify-gnark
command:
Verifying proofs in UPA format
Verification using the SDK
In your Typescript project, add the SDK:
The VerifierClient
class can then be used to submit proofs for verification:
Last updated
Was this helpful?