|
1 | 1 | use clap::Parser; |
2 | | -use risc0_zkvm::{default_prover, ExecutorEnv}; |
| 2 | +use risc0_zkvm::{default_prover, ExecutorEnv, ProverOpts}; |
3 | 3 | use tracing::{error, info}; |
4 | 4 |
|
5 | 5 | use ream_consensus::deneb::beacon_state::BeaconState as ReamBeaconState; |
@@ -122,15 +122,28 @@ fn main() { |
122 | 122 |
|
123 | 123 | // Execute the program |
124 | 124 | let prover = default_prover(); |
| 125 | + let opts = ProverOpts::succinct(); |
125 | 126 |
|
126 | 127 | // Proof information by proving the specified ELF binary. |
127 | 128 | // This struct contains the receipt along with statistics about execution of the guest |
128 | | - let prove_info = prover.prove(env, CONSENSUS_STF_ELF).unwrap(); |
| 129 | + let prove_info = prover |
| 130 | + .prove_with_opts(env, CONSENSUS_STF_ELF, &opts) |
| 131 | + .unwrap(); |
| 132 | + |
| 133 | + info!("Proving complete"); |
129 | 134 |
|
130 | 135 | // Extract the receipt. |
131 | 136 | let receipt = prove_info.receipt; |
132 | 137 |
|
| 138 | + info!("Seal size: {:#?}", receipt.seal_size()); |
| 139 | + info!("Receipt: {:#?}", receipt); |
| 140 | + info!( |
| 141 | + "New state root: {:?}", |
| 142 | + receipt.journal.decode::<tree_hash::Hash256>().unwrap() |
| 143 | + ); |
| 144 | + |
133 | 145 | receipt.verify(CONSENSUS_STF_ID).unwrap(); |
| 146 | + info!("Verfication complete"); |
134 | 147 |
|
135 | 148 | info!("----- Cycle Tracker End -----"); |
136 | 149 |
|
|
0 commit comments