aboutsummaryrefslogtreecommitdiff
path: root/zkvms/risc0/host/src/main.rs
diff options
context:
space:
mode:
authorKamen Mladenov <kamen@syndamia.com>2025-01-13 13:07:24 +0200
committerKamen Mladenov <kamen@syndamia.com>2025-01-13 13:07:24 +0200
commit2162246e898305124a64d99f6b1c532a6c1fdb34 (patch)
tree5cae4b13f3c63e2917129c3380829d545694f240 /zkvms/risc0/host/src/main.rs
parent90824374ab69f8ec2386903b07bb7a3678d9a762 (diff)
downloadzkVMs-benchmarks-2162246e898305124a64d99f6b1c532a6c1fdb34.tar
zkVMs-benchmarks-2162246e898305124a64d99f6b1c532a6c1fdb34.tar.gz
zkVMs-benchmarks-2162246e898305124a64d99f6b1c532a6c1fdb34.zip
feat(risc0): Implement (bring back) verification
Diffstat (limited to 'zkvms/risc0/host/src/main.rs')
-rw-r--r--zkvms/risc0/host/src/main.rs15
1 files changed, 12 insertions, 3 deletions
diff --git a/zkvms/risc0/host/src/main.rs b/zkvms/risc0/host/src/main.rs
index 653f11d..ec1eca3 100644
--- a/zkvms/risc0/host/src/main.rs
+++ b/zkvms/risc0/host/src/main.rs
@@ -1,6 +1,11 @@
use risc0_zkvm::{default_prover, default_executor, ExecutorEnv};
+use risc0_zkp::core::digest::Digest;
+use hex::FromHex;
+// https://github.com/risc0/risc0/blob/881e512732eca72849b2d0e263a1242aba3158af/risc0/build/src/lib.rs#L280-L284
static HELLO_GUEST_ELF: &[u8] = include_bytes!("./guest");
+// https://github.com/risc0/risc0/blob/881e512732eca72849b2d0e263a1242aba3158af/risc0/build/src/lib.rs#L255
+static HELLO_GUEST_ID: &str = env!("GUEST_ID");
fn main() {
let args: Vec<String> = std::env::args().collect();
@@ -37,13 +42,17 @@ fn main() {
println!("Output from journal: {:?}", journal);
},
"verify" => {
+ // https://github.com/risc0/risc0/blob/881e512732eca72849b2d0e263a1242aba3158af/risc0/build/src/lib.rs#L197-L199
+ let guest_id: Digest = Digest::from_hex(HELLO_GUEST_ID).expect("");
+ // https://github.com/risc0/risc0/blob/881e512732eca72849b2d0e263a1242aba3158af/risc0/build/src/lib.rs#L278
+
let prover = default_prover();
let receipt = prover.prove(env, HELLO_GUEST_ELF).unwrap().receipt;
- // receipt.verify(HELLO_GUEST_ID).unwrap();
+ receipt.verify(guest_id).unwrap();
- // let journal: bool = receipt.journal.decode().unwrap();
- // println!("Output from verify: {:?}", journal);
+ let journal: bool = receipt.journal.decode().unwrap();
+ println!("Output from verify: {:?}", journal);
},
_ => println!("No arguments provided! Expected execute, prove or verify!"),
}