EVM-Book
A collection of EVM related information. This is a repo that I created for myself to keep track of all the useful links/information I have come across related to the EVM and put it in one place. I made it public in case anyone else wants to use it to explore specific EVM related topics. This document is a work in progess and will continually be updated.
Low Level EVM Info
Solidity -> Bytecode -> Opcodes
The EVM chapter in the Ethereum Book
EVM Puzzles: Use calldata, calvalues and opcodes to solve EVM challenges
Tooling / Testing
Hardhat (for when the task is outside of the bounds of Foundry)
Tenderly: Block explorer that provides very detailed transaction info.
Security
Smart contract security - key principles
Comprehensive list of known attack vectors and common anti-patterns
Smart Contract Programmer's Hack Solidity Playlist
Smartbugs: A curated dataset of vulnerable solidity smart contracts
Use Slither AND Mythril together for automated vunerability testing. This does not replace an audit. This is like scanning a contract at a high level and only picks up ~37% of vunerabilities accurately
List of all up to date Solidity compiler bugs
Damn Vulnerabile Defi: Smart contract offensive security challenges (Or try the Foundry Version)
Solcurity: A security and code quality checklist
Gas Optimizations
Solmate: gas optimized building blocks for smart contract development.
How arithmetic with values less than 32bytes are handled and why it costs more gas
Patterns / Optimizations for gas savings
EVM Gas optimizations with gas benchmarks
Solstat: A static analyzer to find gas optimizations and contract vulnerabilities
Yul
General/Misc
ControlCPlusControlV's Yul (and Some Solidity) Optimizations and Tricks