Crate risc0_zkvm

source ·
Expand description

The RISC Zero zkVM is a RISC-V virtual machine that produces zero-knowledge proofs of code it executes. By using the zkVM, a cryptographic receipt is produced which anyone can verify was produced by the zkVM’s guest code. No additional information about the code execution (such as, for example, the inputs provided) is revealed by publishing the receipt.

In addition to our reference documentation on docs.rs, we have additional (non-reference) resources for using our zkVM that you may also find helpful, especially if you’re new to the RISC Zero zkVM. These include:

  • Our Hello Multiply! tutorial, which walks you through writing your first zkVM project.
  • The cargo risczero tool. It includes a new command which generates code for building and launching a zkVM guest and guidance on where projects most commonly modify host and guest code.
  • The zkVM Rust examples directory, which contains various examples using our zkVM.
  • This clip from our presentation at ZK Hack III gives an overview of the RISC Zero zkVM. Our YouTube channel has many more videos as well.
  • We track zkVM issues with known workarounds using the rust guest workarounds GitHub tag. If you’re having problems running your code in the zkVM, you can see if there’s a workaround, and if you’re using a workaround, you can track when it gets resolved to a permanent solution.
  • And more on the RISC Zero website!

Re-exports

Modules

  • Manages formatted binaries used by the RISC Zero zkVM
  • The RISC Zero ZKVM’s guest-side RISC-V API.
  • Run the zkVM guest and prove its results.
  • Manages the output and cryptographic data for a proven computation
  • Serialization and deserialization tools for the RISC Zero zkVM
  • SHA-256 hashing services

Macros

  • Construct a SyscallName declaration at compile time.
  • Used for defining a main entrypoint.

Structs

  • A collection of hashes attesting to the circuit architecture
  • Loads data into the zkVM image
  • An image of a zkVM guest’s memory
  • A RISC Zero program

Constants

Traits

Type Definitions