-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
21 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,66 +1,41 @@ | ||
## Foundry | ||
<img align="right" width="150" height="150" top="100" src="./public/honk.webp"> | ||
|
||
**Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.** | ||
## EVM Honk Verifier | ||
|
||
Foundry consists of: | ||
**An EVM verifier for the HONK (sumcheck + zeromorph) proving system.** | ||
|
||
- **Forge**: Ethereum testing framework (like Truffle, Hardhat and DappTools). | ||
- **Cast**: Swiss army knife for interacting with EVM smart contracts, sending transactions and getting chain data. | ||
- **Anvil**: Local Ethereum node, akin to Ganache, Hardhat Network. | ||
- **Chisel**: Fast, utilitarian, and verbose solidity REPL. | ||
This repo consists of: | ||
|
||
## Documentation | ||
- A differential fuzzer against a cpp implementation (found in barretenberg) | ||
- A verifier for an ECDSA circuit | ||
|
||
https://book.getfoundry.sh/ | ||
## Upcoming | ||
|
||
## Usage | ||
|
||
### Build | ||
|
||
```shell | ||
$ forge build | ||
``` | ||
|
||
### Test | ||
|
||
```shell | ||
$ forge test | ||
``` | ||
|
||
### Format | ||
- Optimized assembly implementation | ||
|
||
```shell | ||
$ forge fmt | ||
## Building | ||
1. **C++** | ||
On ubuntu make sure you have a cpp toolchain installed -> | ||
``` | ||
|
||
### Gas Snapshots | ||
|
||
```shell | ||
$ forge snapshot | ||
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 :) | ||
|
||
### Anvil | ||
|
||
```shell | ||
$ anvil | ||
``` | ||
2. **Foundry** | ||
See installation instructions here: https://book.getfoundry.sh/ | ||
|
||
### Deploy | ||
|
||
```shell | ||
$ forge script script/Counter.s.sol:CounterScript --rpc-url <your_rpc_url> --private-key <your_private_key> | ||
``` | ||
## Usage | ||
|
||
### Cast | ||
### Build | ||
|
||
```shell | ||
$ cast <subcommand> | ||
$ ./bootstrap.sh # This will download the SRS and build the C++ | ||
$ forge build # Build the contracts | ||
``` | ||
|
||
### Help | ||
### Test | ||
|
||
```shell | ||
$ forge --help | ||
$ anvil --help | ||
$ cast --help | ||
$ forge test | ||
``` |
Binary file not shown.