DEPRECATED: Moved to ZoKrates
Set the libsnark library path in LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
Command
./code_to_r1cs program [inputs]
program
: Path to the program that you want to be compiled.inputs
(optional): String of variable assignments of the inputs of a program split with whitespaces.
To execute the program
def add(a, b, c):
return a + b + c
with add(1, 2, 3)
, call
./code_to_r1cs program "1 2 3"
Currently needs to be build with nightly Rust.
Example usage:
docker build -t verifiablestatementcompiler .
docker run -ti verifiablestatementcompiler /bin/bash
cd VerifiableStatementCompiler
./target/debug/code_to_r1cs examples/add.code "3"
Install libsnark to /usr/local
with
make install lib PREFIX=/usr/local NO_PROCPS=1 NO_GTEST=1 NO_DOCS=1 CURVE=ALT_BN128 FEATUREFLAGS="-DBINARY_OUTPUT=1 -DMONTGOMERY_OUTPUT=1 -DNO_PT_COMPRESSION=1"
and build with
cargo build
Build with the feature nolibsnark
cargo build --features nolibsnark
Run normal tests with
cargo test
and run long and expensive tests with
cargo test -- --ignored