crytic / crytic/building-secure-contracts

Echidna FAQ

Open
#80 6 comments 0 reactions 0 assignees View on GitHub
help wanted high priority
Dominant language
Solidity
Stars
2.5k
Forks
391
PR merge metrics
No merged PRs in 30d

Description

Echidna is having a lot of options and features, and it's difficult to remember where to find everything in the doc. We could have a small summary of the most common question somewhere (building-secure-contract, or Echidna readme]

On the top of my head, the frequent questions can be answered with:

| What | How | Reference |
|---|---|---|
| Enable assertion checking | `checkAsserts: true` ​| [How to test assertions](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/echidna/assertion-checking.md) |
| Fuzz all contracts | `multi-abi: true` ​| TODO
| Change `msg.sender` | `sender`, `psender`, ​| TODO
| Filter functions | `filterBlacklist` / `filterFunctions` | [Filtering functions to call during a fuzzing campaign](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/echidna/filtering-functions.md)
| See the code explored | `corpus-dir` | [Collecting and visualizing coverage](https://github.com/crytic/echidna#collecting-and-visualizing-coverage)
| Benchmark gas usage | `estimateGas: true` | [Finding transactions with high gas consumption](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/echidna/finding-transactions-with-high-gas-consumption.md)
| Debug initialization | Run slither on the target | TODO
| Add Echidna to the CI | Use [`echidna-action`](https://github.com/crytic/echidna-action) | See the gh action's documentation
| Install the latest version | `pip install slither-analyzer` and, download Echidna static binary from the [`release`](https://github.com/crytic/echidna/releases/latest) page |

What else?

Related
- https://github.com/crytic/building-secure-contracts/issues/74
- https://github.com/crytic/building-secure-contracts/issues/79

Contributor guide

Open the contributing guide

Research direction

Start with the Echidna README and the linked guides under program-analysis/echidna, then compare the existing FAQ proposals with issues 74 and 79. Add a concise FAQ in the agreed documentation location, replace the TODO references with verified links, and ensure each listed question has an accurate answer.

Written by the indexing model from the issue text.

Assessment

Tech stack
solidity
Domain
documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.