-
Notifications
You must be signed in to change notification settings - Fork 13
Home
Corset is both a lisp-like language aiming at describing R1CS-backed constraint systems and the compiler and utility suite for it.
As a language, it provides a typed, high-level, expressive, extensible language to write constraints, that are then compiled down to operations usable on a field backing a R1CS-based constraint proving system providing the following operations: addition, subtraction, negation and multiplication.
As a utility suite, it provides many tools to export these compiled constraints to multiple languages, to inspect and debug constraint system, and to validate constraint systems on real numeric traces.
Corset only depends on the Rust language compiler. The build Corset, the Rust compiler must be available, installed either through your OS preferred method to install packages, or with Rustup.
Once the Rust compiler is available, Corset can simply be installed with
cargo install --git https://github.com/ConsenSys/corset
When new versions are released, repeating this command will ensure that you are using the latest available version.
If you wish to work on Corset, you should first clone the Corset repo
git clone ssh://github.com/ConsenSys/corset
then build a local copy of Corset
cd corset && cargo build --release
that you can, later on, make available system-wide
cd corset && cargo install --path .