Often it can seem like the people who write smart contracts are some strange breed of shadowy super coders who are nothing like ordinary old me. I can understand that Ethereum is this “world machine”, and that anyone can deploy a smart contract without permission, and that it is all somehow wired together in a way that seems to excite the nerds, but the gap between “them” and me seems so big. It makes me anxious, and I don’t like feeling anxious or inept.
So, we’re just going to make a whole bunch of mistakes together. We’re going to be frustrated and confused together. We’re going to want to throw something at our screens together. And then, when we get through this together, you’ll suddenly realise that there is no “them” and that every “developer” is just an ordinary person who spends the majority of their time wondering what on earth is going on with their computer. Good developers are simply those that have a sense of humour and a certain kind of grit and determination. They also know how to ask clear questions which lead them to the code they most need to copy and paste into their own work.Preparation¶
- Install MetaMask and create an Ethereum account.
- Switch your network (at the top of the browser pop-up) to the ‘Rinkeby Test Network’.
- Get Rinkeby ETH from the faucet by following these instructions.
- Check that you have an up-to-date version of Chrome, Firefox, or Brave.
In this first lesson, we will take on 3 Ethernaut challenges: Fallback, Fallout, and Token. In order to do that, we’re going to need to cover some basics first.
- What is a web console?
- How does MetaMask work?
- How does a web page connect to Ethereum?
- Where is Ethereum? (and associated questions: Who am I? What is life? Why all this?)
- The actual challenges listed above.
In this session, you will have learned:
- How to lift the veil of your browser and peer into its inner mechanics via the web console.
- How to issue instructions - that is, how you can code - directly from your console without having to set up any funky software that weird developer told you about once.
- What MetaMask and an “injected web3 provider” is and does.
- What a smart contract looks like.
- How to interact with smart contracts from the comfort of your own home.
- Some of the basic ways a smart contract can be manipulated and why.
- Some of the basic ways a smart contract can manipulate you and why.