scroll-tech / ceno

Accelerate Zero-knowledge Virtual Machine by Non-uniform Prover Based on GKR Protocol
Apache License 2.0
21 stars 2 forks source link

Ceno: Non-uniform, Segment and Parallel Risc-V Zero-knowledge Virtual Machine

Please see the slightly outdated paper for an introduction to Ceno.

🚧 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.

Local build requirements

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

Building Ceno and running tests

To run the tests, you can use the following command:

cargo make tests

Clippy and check work as usual:

cargo check
cargo clippy

Alas, cargo build doesn't work. That's a known problem and we're working on it. Please use cargo make build instead for now.