Cargo Features
[dependencies]
risc0-zkvm = { version = "5.0.0-rc.1", default-features = false, features = ["circuit_debug", "client", "bonsai", "cuda", "dual", "disable-dev-mode", "docker", "getrandom", "heap-embedded-alloc", "std", "metal", "prove", "redis", "unstable", "witgen_debug", "block_tracker_debug"] }
- default = bonsai, client
-
These default features are set whenever
risc0-zkvmis added withoutsomewhere in the dependency tree.default-features = false - circuit_debug
-
Enables circuit_debug of risc0-zkp
- client default prove? = std
-
Enables bincode ^1.3, bytes, lazy-regex, prost ^0.13, risc0-build, rzup, and tempfile
Affects
risc0-zkvm::rpc… - bonsai default
-
Enables bonsai-sdk
- cuda dual? = prove
-
Enables cuda of risc0-circuit-keccak, risc0-circuit-recursion, risc0-circuit-rv32im, risc0-groth16, and risc0-zkp
risc0-circuit-keccak:
Enables CUDA GPU support
- dual = cuda
-
Enables dual of risc0-circuit-recursion
- r0vm-ver-compat disable-dev-mode
- docker
-
This flag uses the docker environment to build test guests such as multi-test to ensure accurate cycle and segment counts. Tests that have been gated on this flag measure cycles and segments. Without this flag, the rust build system will generate binaries that not identical across all architectures.
While this is acceptable for most tests, the tests counting cycles and segments will fail intermittently. It does not effect non-test code. - getrandom
-
The zkVM exposes a getrandom implementation that panics by default. This will expose a getrandom implementation that uses the
sys_randomecall.Enables getrandom of risc0-zkvm-platform
- heap-embedded-alloc
-
The zkVM uses a bump-pointer heap allocator by default which does not free memory. This will use a slower linked-list heap allocator to reclaim memory.
Enables heap-embedded-alloc of risc0-zkvm-platform
- std client prove?
-
Enables std of anyhow, derive_more, hex, risc0-binfmt, risc0-groth16, risc0-zkp, serde, and sha2 ^0.10
serde:
Provide impls for common standard library types like Vec<T> and HashMap<K, V>.
Requires a dependency on the Rust standard library.Affects
env::read_buffered,risc0-zkvm::is_dev_mode… - metal = prove
- prove cuda? metal? = client, std
-
Enables rustc-demangle, tempfile, and typetag, addr2line ^0.24.2, bincode ^1.3, elf ^0.7, gdbstub, gdbstub_arch, gimli ^0.31.1, keccak ^0.1.5, lazy-regex, num-bigint, num-traits, object ^0.36.7, prost ^0.13, rand ^0.9.1, and rayon, perf of risc0-core, prove of risc0-groth16 and risc0-zkp and prove of risc0-circuit-keccak, risc0-circuit-recursion, and risc0-circuit-rv32im
risc0-circuit-keccak:
Enables ZKR registration to actually generate proofs.
Affects
prove::local_executor… - redis
-
Enables redis ^0.30.0
- unstable
-
Enables unstable of risc0-zkvm-platform
Affects
env::testing.commit_single_keccak… - witgen_debug
-
Enables witgen_debug of risc0-circuit-rv32im
- block_tracker_debug
-
Enables block_tracker_debug of risc0-circuit-rv32im