If you are starting to program Ethereum smart contracts and you want to test how well you understand their security, there's a wonderful free learning resource at https://capturetheether.com. Check it out before continuing.
Now that you've understood what's the goal of this learning game, i.e. to solve a series of challenges; my aim here is to describe how I solved them***. The purpose is two-fold:
-
(& main) To keep track of my solutions in the cloud, so I can come back to them whenever I want.
-
The solutions might be helpful for someone who's starting in the world of Ethereum smart contracts, like I am at the moment.
I will use just Remix and Metamask to solve the challenges, so you need to know what those two do. If you don't, no need to worry. You can read about them, test them quickly, and come back in a few hours. I will use Solidity (the smart contracts at capturetheether are written in Solidity), and if you can understand the examples in the section 'Solidity by Example' from https://solidity.readthedocs.io you're good to go. Of course we will need more than that along the way, but we're here to learn!
In the folder ./OriginalContracts I have simply copied the contracts from https://capturetheether.com, just in case those disappear at some point.
*** I will be updating this repository as I keep playing the game, which I do every now and then.