Installation & Building
There are several ways to install ItyFuzz. We recommend using the ityfuzzup script.
ityfuzzup (Recommended)
ityfuzzup is a script that automatically installs all dependencies and installs ItyFuzz.
curl -L https://ity.fuzz.land/ | bash
ityfuzzupTo update ItyFuzz, run ityfuzzup again.
Build from Source
You first need to install Rust through https://rustup.rs/
You need to have libssl-dev (OpenSSL) and libz3-dev installed on your system. On Linux, you probably also need to install Clang >= 12.0.0 and use it for CC environment variables.
# Ubuntu:
sudo apt install libssl-dev libz3-dev pkg-config cmake build-essential clang
# macOS:
brew install openssl z3Then, you can use cargo to build ItyFuzz. This can take seconds to hours depending on the amount of your CPU cores and memory.
git clone https://github.com/fuzzland/ityfuzz.git && cd ityfuzz
git submodule update --recursive --init
cargo build --releaseThis would create an executable at target/release/ityfuzz. This executable only supports offchain fuzzing (i.e., fuzzing without interacting with the blockchain). To build an executable for onchain fuzzing, run:
cargo build --release --features flashloan_v2If you are developing ItyFuzz, you can create a debug build (much slower than release builds) and add the following useful features, which will enable more logs and assertions:
cargo build --features flashloan_v2,debug,flashloan_debugLast updated