A linear-time FFT-free SNARK proof system (https://eprint.iacr.org/2022/1355.pdf).
DISCLAIMER: This software is provided "as is" and its security has not been externally audited. Use at your own risk.
We recommend using nix for installing the correct version of rust and additional libraries:
> curl -L https://nixos.org/nix/install | sh
> nix-shell
> cargo build
We recommend the following tools:
Run direnv allow
at the repo root. You should see dependencies (including Rust) being installed (the first time might take a while).
Upon modification on flake.nix
, run direnv reload
to reflect new dependencies or environment setups.
> cargo test --release --all
> cargo doc --open
To format your code run
> cargo fmt
Run nix flake update
if you would like to pin other version edit flake.nix
beforehand. Commit the lock file when happy.
To update only a single input specify it as an argument, for example
nix flake update github:oxalica/rust-overlay
To obtain benchmarks, run the script file scripts/run_benchmarks.sh
.
We refer to Table 5 and Table 6 in https://eprint.iacr.org/2022/1355.pdf for an example benchmark.