This is a collection of my findings from the Ethernaut CTF. Here are some of the most important things I learned.
- CTFs are awesome.
- Learning to do math in JS and Solidity was challenging, but ultimately beneficial.
- Once things start to get harder, deploying a contract for each iteration is a pain. I started with Remix and the JS VM, but quickly moved to using foundry and forking the testnet. This was a huge time saver.
- Learning to write Solidity tests was a huge win. I’ve never written tests in Solidity before, but it makes a big difference.
- The
Re-entracy
challenge was the first one that really stretched my brain. After solving it, re-entry attacks make much more sense. - The difficulty certainly levels up after ~10. I’m using guides to help me through a lot of them. Still starting with trial and error, but I’m not afraid to look at the solution if I’m stuck.
- The
Shop
challenge really blew my mind. Solidity aims to be safe, but it is full of foot guns. I guess that’s a good thing for security researchers.