Cargo Features
[dependencies]
risc0-zkvm = { version = "1.2.1-rc.0", default-features = false, features = ["client", "bonsai", "cuda", "disable-dev-mode", "docker", "dual", "getrandom", "heap-embedded-alloc", "std", "metal", "prove", "redis", "unstable"] }
- default = bonsai, client
-
These default features are set whenever
risc0-zkvm
is added without
somewhere in the dependency tree.default-features = false - client default prove? = std
-
Enables bincode, bytes, lazy-regex, prost, risc0-build, and tempfile
- bonsai default
-
Enables bonsai-sdk
- cuda = prove
-
Enables cuda of risc0-circuit-keccak, risc0-circuit-recursion, risc0-circuit-rv32im, and risc0-zkp
risc0-circuit-keccak:
Enables CUDA GPU support
- 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. - dual
- getrandom
-
The zkVM exposes a getrandom implementation that panics by default. This will expose a getrandom implementation that uses the
sys_random
ecall.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, hex, risc0-binfmt, risc0-groth16, risc0-zkp, serde, and sha2
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.22, bincode, elf, keccak, lazy-regex, num-bigint, num-traits, prost, rand, 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.
- redis
-
Enables redis
- unstable
-
Enables unstable of risc0-zkvm-platform
Affects
env::keccak_update
…