Getting Started
Learn how to prove programs using the Nexus zkVM.
The Nexus zkVM provides two main approaches for proving programs:
Command Line Interface (CLI)
Not to be confused with Network CLI, the zkVM CLI is a command line tool for proving programs.
The CLI approach is perfect for quick experiments and simple programs. It provides a straightforward way to:
-
Create new Nexus projects.
-
Run zkVM programs.
-
Generate zero-knowledge proofs.
-
Verify proofs.
Software Development Kit (SDK)
The SDK offers more advanced features and programmatic control, allowing you to:
-
Create both host and guest programs.
-
Configure proving parameters.
-
Choose between different provers (Nova, HyperNova, and experimental Jolt).
-
Handle inputs and outputs programmatically.
-
Access detailed logging and debugging information.
Which Should I Choose?
-
Choose the
CLI
if you:
-
Are new to Nexus zkVM
-
Want to quickly test simple programs
-
Need a straightforward proving workflow
-
Don’t require programmatic control
-
-
Choose the
SDK
if you:
-
Need to integrate proving into a larger application
-
Want fine-grained control over the proving process
-
Need to handle complex inputs and outputs
-
Require advanced configuration options
-
Want to experiment with different provers
-
Both approaches require the same initial setup, including installing Rust, cmake, and the RISC-V target.
Prerequisites
Before getting started with either approach, make sure you have:
-
Rust installed (
)
-
cmake installed (
)
-
RISC-V target added:
rustup target add riscv32i-unknown-none-elf
-
Nexus zkVM installed:
cargo install --git
https://github.com/nexus-xyz/nexus-zkvm
cargo-nexus --tag 'v0.2.4'
Choose your preferred approach above to get started!
Was this page helpful?