mirror of
https://github.com/arnaucube/hyperplonk.git
synced 2026-01-09 15:41:28 +01:00
72
README.md
72
README.md
@@ -1,2 +1,70 @@
|
||||
# Hyperplonk
|
||||
A linear-time FFT-free SNARK proof system
|
||||
# Hyperplonk library
|
||||
A linear-time FFT-free SNARK proof system (https://eprint.iacr.org/2022/1355.pdf).
|
||||
|
||||
## Disclaimer
|
||||
|
||||
**DISCLAIMER:** This software is provided "as is" and its security has not been externally audited. Use at your own risk.
|
||||
|
||||
## Development environment setup
|
||||
|
||||
### Install RUST
|
||||
|
||||
We recommend using nix for installing the correct version of rust and
|
||||
additional libraries:
|
||||
|
||||
```bash
|
||||
> curl -L https://nixos.org/nix/install | sh
|
||||
```
|
||||
|
||||
### Compiling the project for the first time
|
||||
|
||||
```bash
|
||||
> nix-shell
|
||||
> cargo build
|
||||
```
|
||||
|
||||
### Direnv
|
||||
|
||||
We recommend the following tools:
|
||||
|
||||
- [nix](https://nixos.org/download.html)
|
||||
- [direnv](https://direnv.net/docs/installation.html)
|
||||
|
||||
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.
|
||||
|
||||
### Tests
|
||||
|
||||
```
|
||||
> cargo test --release --all
|
||||
```
|
||||
|
||||
### Generate and read the documentation
|
||||
|
||||
#### Standard
|
||||
|
||||
```
|
||||
> cargo doc --open
|
||||
```
|
||||
|
||||
### Code formatting
|
||||
|
||||
To format your code run
|
||||
|
||||
```
|
||||
> cargo fmt
|
||||
```
|
||||
|
||||
### Updating non-cargo dependencies
|
||||
|
||||
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
|
||||
|
||||
### Benchmarks
|
||||
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user