From 3c72e22346fe0330e78d4f7e5f498ed0537d8029 Mon Sep 17 00:00:00 2001 From: Rostyslav Tyshko Date: Sun, 10 Nov 2024 02:10:20 +0100 Subject: [PATCH] add prove functionality --- zkvm/src/lib.rs | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/zkvm/src/lib.rs b/zkvm/src/lib.rs index 3216739..2865efb 100644 --- a/zkvm/src/lib.rs +++ b/zkvm/src/lib.rs @@ -1 +1,22 @@ -//ToDo: Add zkvm module +use risc0_zkvm::{default_prover, sha::Digest, ExecutorEnv, Receipt}; + +pub fn prove(input_vec: Vec, elf: &[u8]) -> (u64, Receipt) { + let mut builder = ExecutorEnv::builder(); + + for input in input_vec { + builder + .write(&input) + .unwrap(); + } + + let env = builder + .build() + .unwrap(); + + let prover = default_prover(); + + let receipt = prover.prove(env, elf).unwrap().receipt; + + let digest = receipt.journal.decode().unwrap(); + (digest, receipt) +}