Advanced
- How to Collect a Corpus: Learn how to use Echidna to gather a corpus of transactions.
- How to Use Optimization Mode: Discover how to optimize a function using Echidna.
- How to Detect High Gas Consumption: Find out how to identify functions with high gas consumption.
- How to Perform Large-scale Smart Contract Fuzzing: Explore how to use Echidna for long fuzzing campaigns on complex smart contracts.
- How to Test a Library: Learn about using Echidna to test the Set Protocol library (blog post).
- How to Test Bytecode-only Contracts: Learn how to fuzz contracts without source code or perform differential fuzzing between Solidity and Vyper.
- How and when to use cheat codes: How to use hevm cheat codes in general
- How to Use Hevm Cheats to Test Permit: Find out how to test code that relies on ecrecover signatures by using hevm cheat codes.
- How to Seed Echidna with Unit Tests: Discover how to use existing unit tests to seed Echidna.
- Understanding and Using
allContracts
: Learn whatallContracts
testing is and how to utilize it effectively. - How to do on-chain fuzzing with state forking: How Echidna can use the state of blockchain during a fuzzing campaign
- Interacting with off-chain data via FFI cheatcode: Using the
ffi
cheatcode as a way of communicating with the operating system