Using OpenVM securely requires deterministic program compilation, which enables users to verify that OpenVM binaries correspond to the original programs they are interested in. On the Axiom Proving API, we achieve this by running the compilation process in a Docker container. We use the following host and guest versions of Rust:Documentation Index
Fetch the complete documentation index at: https://docs.axiom.xyz/llms.txt
Use this file to discover all available pages before exploring further.
- The host architecture is
linux/amd64with Rust .0:rustc {CARGO_TOOLCHAIN}.0 (05f9846f8 2025-03-31). - The guest target is
riscv32im-risc0-zkvm-elfwith Rust :rustc {CARGO_TOOLCHAIN}.0-nightly (a567209da 2025-02-13).
Reproducing a Build
To replicate a build done on the Axiom Proving API, follow the following steps. Before running them, make sure you havecargo-openvm
and Docker installed.
- Download the program source code (a
tar.gzfile) and the OpenVM config (aopenvm.tomlfile) from the Axiom Proving API console program page. - Prepare the following files locally:
compile.sh), that compiles a program and puts the output in the output directory:
compile.sh
Dockerfile.
Note that --platform=linux/amd64 on the first line is necessary to guarantee that the build is identical.
- And then run these commands:
- Finally, download the OpenVM exe from the Axiom Proving API console and confirm that it matches what you obtained locally.