#circuit #zero-knowledge #risc #vm #risc-v #risc0 #write

sys risc0-zkvm-circuit-sys

RISC Zero zero-knowledge VM circuit crate

14 releases (4 breaking)

0.11.1 Aug 13, 2022
0.11.0 Aug 13, 2022
0.10.0 Jun 24, 2022
0.9.0 Jun 11, 2022
0.7.2 May 27, 2022

#18 in #risc

Download history 13/week @ 2024-03-11 9/week @ 2024-03-18 12/week @ 2024-03-25 45/week @ 2024-04-01 14/week @ 2024-04-08 23/week @ 2024-04-15 18/week @ 2024-04-22 7/week @ 2024-04-29 5/week @ 2024-05-06 19/week @ 2024-05-13 10/week @ 2024-05-20 19/week @ 2024-05-27 16/week @ 2024-06-03 15/week @ 2024-06-10 6/week @ 2024-06-17 13/week @ 2024-06-24

52 downloads per month
Used in 4 crates (2 directly)

Apache-2.0

190KB
4K SLoC

C++ 3.5K SLoC // 0.2% comments Bazel 332 SLoC Rust 85 SLoC // 0.5% comments Python 3 SLoC // 0.8% comments

risc0_zkvm_circuit_sys

This crate/directory contains C++ code the implements the RISC-V arithmetic circuit.

The circuit is decribed using a C++ EDSL, which leans heavily on operator overloading. This EDSL code then produces a primitive IR, which is 'optimized' further, and results in the generation of code which both generates execution traces and also evaluates the core constraint polynomials.

The rust crate exports a single function which writes this circuit out to a C++ header file.

Dependencies

~4.5–6MB
~108K SLoC