6 stable releases
| new 1.2.2 | Mar 31, 2026 |
|---|---|
| 1.2.1 | Mar 30, 2026 |
| 1.1.0 | Feb 22, 2026 |
| 1.0.0 | Jan 27, 2026 |
#564 in Configuration
4MB
8K
SLoC
stwo-vm-runner
Runs a compiled Cairo program in a proof-mode configuration, adapts the run result to a stwo_cairo_adapter::ProverInput, using stwo-cairo's adapter implementation and writes execution resources (and optionally the prover input) to disk.
Entry point: crates/vm_runner/src/main.rs
Build & run
cargo run -p stwo-vm-runner -- --help
Usage
Required flags:
-
--program <PATH>: absolute path to compiled program -
--layout <LAYOUT>: Cairo VM layout -
--output_execution_resources_path <PATH>: absolute path to write execution resources JSON -
The options for
--layoutare:plain,small,dex,recursive,starknet,starknet_with_keccak,recursive_large_output,recursive_with_poseidon,all_solidity,all_cairo,dynamic,all_cairo_stwo,stwo_no_ecop,perpetual,dex_with_bitwise. See theLayoutNameenum definition incairo-vm.
Optional:
--program_input <PATH>: absolute path to program input--output_prover_input_path <PATH>: absolute path to write prover input JSON--secure_run: enable Cairo VM secure_run mode
Example:
cargo run -p stwo-vm-runner --
--program /abs/path/to/compiled_program.json
--program_input /abs/path/to/program_input.json
--layout plain
--output_execution_resources_path /abs/path/to/execution_resources.json
--output_prover_input_path /abs/path/to/prover_input.json
--secure_run
What it does
- Runs the Cairo program with:
proof_mode = truetrace_enabled = truefill_holes = truedisable_trace_padding = truerelocate_mem = false,relocate_trace = false(adapter handles relocation)
- Calls
stwo_cairo_adapter::adapter::adapt(&cairo_runner)to produceProverInput. - Writes:
ProverInput(optional)ExecutionResources(always)
Output files
- Prover input (
--output_prover_input_path): JSON serialization ofProverInput. - Execution resources (
--output_execution_resources_path): JSON serialization ofExecutionResources::from_prover_input(&prover_input).
Dependencies
~59MB
~1M SLoC