Accelerated Zero-knowledge Virtual Machine by Non-uniform Prover Based on GKR Protocol
See the codeRun Book | Try Examples | Paper
🚧 This project is currently under construction and not suitable for use in production. 🚧
If you are unfamiliar with the RISC-V instruction set, please have a look at the RISC-V instruction set reference.
The cargo ceno command is the primary tool for interacting with the Ceno zkVM. You can install it by running the
following command from the root of the repository:
cargo install --path ceno_cli
A variety of examples are availables.
To run an example, you first need to build it. You can run a specific example using the cargo ceno run command. For
instance, to run the fibonacci
example, use the following command:
cargo ceno run --example fibonacci --hints=10 --public-io=4191
This command runs 2^10 (1024) Fibonacci steps via --hints=10. The expected result is 4191, which is verified
against the --public-io=4191 argument.
Ceno is built in Rust, so installing the Rust toolchain is a pre-requisite if you want to develop on your local machine. We also use cargo-make to build Ceno. You can install cargo-make with the following command:
cargo install cargo-make
You will also need to install the Risc-V target for Rust. You can do this with the following command:
rustup target add riscv32im-unknown-none-elf
To run the tests, you can use the following command:
cargo make tests
Clippy and check work as usual:
cargo check
cargo clippy
cargo build
To set up docker container for CI, you can run the following command:
docker build -t ceno-runner scripts/ci/
docker run -d ceno-runner
Ceno stands on the shoulders of remarkable projects in the zero-knowledge ecosystem. We extend our appreciation to the following works, which have shaped Ceno's design and direction:
(top 30 of 31)
Rust
98.6%
Accelerated Zero-knowledge Virtual Machine by Non-uniform Prover Based on GKR Protocol
See the codeRun Book | Try Examples | Paper
🚧 This project is currently under construction and not suitable for use in production. 🚧
If you are unfamiliar with the RISC-V instruction set, please have a look at the RISC-V instruction set reference.
The cargo ceno command is the primary tool for interacting with the Ceno zkVM. You can install it by running the
following command from the root of the repository:
cargo install --path ceno_cli
A variety of examples are availables.
To run an example, you first need to build it. You can run a specific example using the cargo ceno run command. For
instance, to run the fibonacci
example, use the following command:
cargo ceno run --example fibonacci --hints=10 --public-io=4191
This command runs 2^10 (1024) Fibonacci steps via --hints=10. The expected result is 4191, which is verified
against the --public-io=4191 argument.
Ceno is built in Rust, so installing the Rust toolchain is a pre-requisite if you want to develop on your local machine. We also use cargo-make to build Ceno. You can install cargo-make with the following command:
cargo install cargo-make
You will also need to install the Risc-V target for Rust. You can do this with the following command:
rustup target add riscv32im-unknown-none-elf
To run the tests, you can use the following command:
cargo make tests
Clippy and check work as usual:
cargo check
cargo clippy
cargo build
To set up docker container for CI, you can run the following command:
docker build -t ceno-runner scripts/ci/
docker run -d ceno-runner
Ceno stands on the shoulders of remarkable projects in the zero-knowledge ecosystem. We extend our appreciation to the following works, which have shaped Ceno's design and direction:
(top 30 of 31)
Rust
98.6%