consensp1us
is a Proof of Concept of integrating zkVM with the current Ethereum Consensus layer. It will leverage ream and sp1.
There are four main ways to run this project: build a program, execute a program, generate a core proof, and generate an EVM-compatible proof.
To build the program, run the following command:
cd program
cargo prove build
To run the program without generating a proof:
cd script
make download
cargo run --release -- --execute --operation_name <OPERATION_NAME>
possible values for OPERATION_NAME: attestation, attester_slashing, block_header, bls_to_execution_change, deposit, execution_payload, proposer_slashing, sync_aggregate, voluntary_exit, withdrawals
This will execute the program and display the output.
cd script
make download
make run-<OPERATION_NAME>
OPERATIONS = attestation attester_slashing block_header bls_to_execution_change deposit execution_payload proposer_slashing sync_aggregate voluntary_exit withdrawals
This will execute the program and generate benchmarks (especially for cycles) in ./script/summaries
directory.
To generate a core proof for your program:
cd script
cargo run --release -- --prove --operation_name <OPERATION_NAME>