igneum/proving/README.md
igneum-labs 326953e0ac Proving v0: SP1 guest and host for one Igneum block, real-block fixtures, versioned ProofSystem trait, WSL2 package for the RTX 5090 run
proving/igneum-prove: core (port of igneum-exec at fb33069 as the block statement), program (SP1 v6.8.1 guest),
host (execute, core, compressed; ProofSystem trait with the stub and the SP1 implementation), export (cuts a block
out of igneum_exportSegments and checks every state root against the node's). Fixtures block-78-increment and
block-56-transfers from the 3-node simnet. proving/windows-wsl2: SETUP-PROVER.bat, setup-wsl.sh, PROVE-BLOCK.bat,
make-package.sh. docs/plans/proving-v0.md: the devnet v4 shard plan, what tonight's proof shows and does not, the
morning acceptance line. Mac CPU baseline (block 78: 626 k cycles, core 22.0 s and 7.3 MB, compressed 55.7 s and
1.27 MB, both verified) appended to docs/bench-log.md, left uncommitted because that file carries another agent's
pending changes.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 22:30:12 +00:00

1.4 KiB

proving

Igneum proving v0 (3 October 2026): the first SP1 proof of an Igneum block. Plan and scope: docs/plans/proving-v0.md.

  • igneum-prove/: Cargo workspace. core (the block statement, a port of the execution layer's executor), program (the SP1 guest), host (execute, core, compressed modes; the versioned ProofSystem trait with the stub and the SP1 implementation in host/src/proof_system.rs), export (cuts a real block out of an igneum_exportSegments dump and checks the port against the node's state roots).
  • fixtures/: real simnet blocks, block-78-increment.json (the Counter increment(5) call) and block-56-transfers.json (three transfers).
  • windows-wsl2/: SETUP-PROVER.bat, PROVE-BLOCK.bat and the Linux scripts for the project lead's PC; make-package.sh builds the zip.

Build and run on a machine with the SP1 toolchain (curl -L https://sp1up.succinct.xyz | bash && sp1up):

cd proving/igneum-prove
cargo build --release -p igneum-prove-export
./target/release/igneum-prove-export ../../tools/evm-smoke/seq.json 78 ../fixtures/block-78-increment.json
cargo build --release -p igneum-prove-host            # add --features igneum-prove-host/cuda on Linux x86_64 with an NVIDIA card
./target/release/igneum-prove-host ../fixtures/block-78-increment.json --mode execute   # native check + cycle count
SP1_PROVER=cuda ./target/release/igneum-prove-host ../fixtures/block-78-increment.json --mode all --out results.json