Diving deep into Assembly has been one of the most useful things I have done as a Solidity developer. It taught me how the EVM works and how to think more deeply about why the code we write works the way it does.
My aim with this series is to give a hands-on and focused deep dive into using Assembly by doing something fun and not purely theoretical: hacking smart contracts.
Part 1 - Introduction
Structure of the project and how we will be working
Part 2 - Structure of this Series
What we will be covering, and how to follow along
Part 3 - Magic Number
Wrestling with the basics by jumping into raw bytecode
Part 4 - Magic Number 2
Deploying our first solution - no cheatcodes!
Some additional notes that might be helpful.
Appendix 1 - Bits and Bytes
A quick and dirty refresher on some basic computer science concepts related to hex, bytes and memory.
Appendix 2 - Setup and Foundry
Setting Up Our dev environment with Foundry