Every command below is real -- copied from this repo's own README and CI workflow, not written for this page. Run them in order.
Use --release even for tests -- one constraint has a data-dependent polynomial degree that trips a stricter-than-necessary Winterfell debug check. See the Architecture page for why.
git clone https://github.com/CodesbyFebin/rust-stark-zkvm cd rust-stark-zkvm cargo build --release cargo test --release --workspace
cargo run --release -p zkvm-cli -- demo cargo run --release -p zkvm-cli -- run examples/fibonacci_like.zkasm cargo run --release -p zkvm-cli -- prove examples/fibonacci_like.zkasm out.proof cargo run --release -p zkvm-cli -- verify examples/fibonacci_like.zkasm out.proof
demo runs the full execute → prove → verify → tamper-check cycle, including two deliberate tamper attempts that should get rejected.
cargo run --release -p zkvm-host-server & # listens on :4477 cargo run --release -p zkvm-cli -- deploy examples/fibonacci_like.zkasm cargo run --release -p zkvm-cli -- verify examples/fibonacci_like.zkasm examples/fibonacci_like.zkasm.proof
This is a real HTTP round trip, not a mock -- see the API Reference for every route, or docs/HOST_SERVICE.md for exactly what the service does and doesn't cover.
cargo build --release -p zkvm-host-server ./scripts/mcp_demo.sh
Exposes real prove/verify MCP tools on port 4478 for Claude, Cursor, or any MCP client -- see the MCP page for the exact tool schemas.
cd contracts && forge test cd .. && ./scripts/onchain_demo.sh
Deploys the contracts to a local chain, gets a real proof from a real running server, verifies it locally, attests it on-chain, and confirms the prover is actually paid. Read the FAQ first if you're expecting this to be trustless end to end -- it isn't, on purpose, and that's stated plainly.