Proof Submission for Risc0 zkVM Applications
In this tutorial we'll go through the process of submitting and verifying a Risc0 proof to the zkVerify chain.
Requirements
- A Substrate compatible wallet with funds (ACME) connected to the network.
- A Risc0 proof, together with its corresponding public inputs and verification key; if you don't satisfy this requirement check out this tutorial on how to generate them.
Step 1
Send the proof to zkVerify chain. In order to do this you can use PolkadotJs.
- Select your account (you must have some ACME).
- Choose the
settlementRisc0Pallet
and the callsubmitProof
. - Inside the field
vkOrHash
selectVk
and paste the verification key (i.e. the image id of the code whose execution you want to verify), making sure to prepend it with hexadecimal prefix0x
. - Inside the field
proof
paste the proof, making sure to prepend it with hexadecimal prefix0x
. - Inside the field
pubs
paste the public inputs, making sure to prepend it with hexadecimal prefix0x
. - Click on
submitTransaction
.
Step 2
Check your transaction on the zkVerify Block Explorer!