crytic / crytic/building-secure-contracts
Echidna FAQ
- 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
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