EVM Programming
EVM behavior​
- Summary of EVM behavior
- A playdate with the EVM
- Video: from solidity to bytecode, memory and storage - 90 min lecture on EVM execution and state storage
- EVM illustrated - excellent diagrams to verify your understanding
- evm.codes - bytecode reference and sandbox
High-level languages​
Solidity​
- CryptoZombies - learn solidity by building up a zombie game
- Solidity by Example
- Pet shop Truffle tutorial
- Solidity patterns
- awesome-solidity
Vyper​
Security​
Broader page: Security.md
Dev tools​
- Full toolkits for Solidity development:
- foundry - a fast reimplementation of dapptools in rust with ability to write tests in Solidity, plus some additional features
- dapptools - powerful command line tools for smart contract development
- ape - python
- hardhat
- truffle
- eth-brownie - python framework for EVM smart contracts
- Component libraries
- Administration
- OpenZeppelin defender - monitoring and automation
- Libraries for interfacing with RPC
- Testing
- echidna - fuzz testing
- IDE
Debugging​
- EthTx - transaction decoder; stack/state inspector
- Tenderly - debugging, simulation, gas profiling
- Oko contract explorer - explorer with panoramix decompiler
- tx2uml - convert eth txs to UML sequence diagrams
Contract dump​
- Smart contract sanctuary - a dump of contracts verified on Etherscan (and other EVM chain scanners)