32 lines
804 B
Rust
Raw Normal View History

2024-01-22 13:12:10 +05:30
use inner_proof_methods::INNER_PROOF_METHOD_ELF;
use risc0_zkvm::{default_prover, ExecutorEnv, Receipt};
use risc0_zkvm::{ sha};
use rand::Rng;
fn generate_bytes(size: usize) -> Vec<u8> {
2024-01-22 13:12:10 +05:30
let mut rng = rand::thread_rng();
(0..size).map(|_| rng.gen()).collect()
2024-01-22 13:12:10 +05:30
}
pub fn sha_bench(size: usize) -> (Receipt, sha::Digest) {
2024-01-22 13:12:10 +05:30
let input = generate_bytes(size);
let env = ExecutorEnv::builder()
.write_slice(&input)
2024-01-22 13:12:10 +05:30
.build()
.unwrap();
// Obtain the default prover.
let prover = default_prover();
// Produce a receipt by proving the specified ELF binary.
let receipt = prover.prove(env, INNER_PROOF_METHOD_ELF).unwrap();
let _output: sha::Digest = receipt.journal.decode().expect(
"cannot deserialise",
);
(receipt, _output)
}