Skip to the editorposeidon_guest.rs
// Source: github.com/babybear-labs/benchmark
// File: risc-zero/methods/poseidon/src/main.rs, lines 1-29
// Commit: 992bbf7 (pinned)
// Link: https://github.com/babybear-labs/benchmark/blob/992bbf786b96594ea82ac99b8eac5b2b8aa34284/risc-zero/methods/poseidon/src/main.rs#L1-L29
#![no_main]
#![no_std]
extern crate alloc;
use core::hint::black_box;
use alloc::str::FromStr;
use risc0_zkvm::guest::env;
use starknet_crypto::poseidon_hash_single;
use starknet_types_core::felt::Felt;
risc0_zkvm::guest::entry!(main);
pub fn main() {
let n: u32 = env::read();
black_box(bench_poseidon_n(n));
}
fn bench_poseidon_n(n_thousands: u32) -> Felt {
let felt = Felt::from_str("1").unwrap();
let mut last_hash = felt;
for _ in 0..(n_thousands * 1) {
last_hash = poseidon_hash_single(felt);
}
last_hash
}
- Haystack
127.0.0.1:7878local only: it runs on your machinedocker run -it --rm -p 127.0.0.1:7878:7878 -v haystack-out:/haystack/out haystack not forwarded - web3-DREAM11200 on 2026-11-02