An EVM verifier for the HONK (sumcheck + shplemini) proving system.
This repo consists of:
- A differential fuzzer against a cpp implementation (found in barretenberg)
- A verifier for an ECDSA circuit
- Optimized assembly implementation
- C++ On ubuntu make sure you have a cpp toolchain installed -> (or most up to date, i just use whatever works with clang16)
sudo apt-get install cmake clang clang-format ninja-build libstdc++-12-dev
We will be building with clang16 - so make sure you have that compiler :)
- Foundry See installation instructions here: https://book.getfoundry.sh/
$ ./bootstrap.sh # This will download the SRS and build the C++
$ forge build # Build the contracts
$ forge test --no-match-contract TestBaseHonk