Hands On Ethereum Day
If you're interested, take one day to get your hands dirty
I’ve had dozens of people ask me about getting started with Ethereum, and noticed a surprising pattern:
Most want to learn about the space, rather than diving into it.
My advice is always the same: take a day, get your hands dirty, and you’ll start to build the intuition and understanding that could never come from reading articles.
Them: “Okay, great, so what do I do?”
Me: *rambles incoherent jargon for 5 minutes*
This is the problem. There are tons of useful guides on how to do any individual thing you can think of, but there isn’t anything I’ve seen that explains the basic concepts simply and walks people through how to play around with them.
This scares away even the smartest, most interested people:
This is from a brilliant guy, deeply invested in the space (“irresponsibly long Ethereum”), with the desire to understand it better.
If he’s not getting his hands dirty, who else is standing on the sidelines?
This is a lethal decision in web3. As much as you can read and understand the thesis, you need to get into the weeds to really grok it.
It’s like if a great macro investor saw the trend of the internet in the 90s. They would have been right, but if they shied away from understanding the technology, they would have ended up in bad shape.
In a space this new (and moving this fast), you can only have good macro intuitions if you’ve built a comfort with the micro components.
So, for Raoul and anyone else who finds themselves in a similar situation… this is for you.
You can follow along with everything in this guide in less than a day. It’ll cost a few hundred dollars in gas fees. And, by the end, you’ll have enough of a grasp of the basic areas of the web3 ecosystem that it won’t feel intimidating and you’ll be able to continue your exploration on your own.
Let’s jump in.
[To be extremely clear, nothing here is financial advice. My goal here is to have you learn the ecosystem in one day. Consider the 1 ETH that you put into this to be a learning expense.]
Step 1: Get Your Tokens into Your Own Wallet
Before we start, a gross oversimplification of ownership on the blockchain:
You start with a private key that is made up completely randomly. There are so many possible private keys that no two will ever overlap. This private key acts like your password to access any funds.
That private key is cryptographically translated into a public key, which is turned into an address. That’s your public address that people can send coins to so you receive them.
Coins aren’t actually “sent around”. The blockchain holds a database for each token of addresses and their balances. Sending coins just means updating those balances.
Only the person who has the corresponding private key for each address is able to access and control the coins owned by that address.
All tokens on any blockchain belong to a specific private key.
When you buy Ethereum on a platform like Coinbase, the tokens are owned by one of Coinbase’s private keys. Then, in the Coinbase internal database, they keep track of which account owns which tokens.
This is extremely convenient, but it has its problems.
Firstly, “not your keys, not your coins”. In other words, if the private keys the coins belong to are Coinbase’s and not yours, then the coins aren’t truly yours.
More importantly for our purposes, if you don’t have your own private keys, then you aren’t able to interact with all the applications that live on the Ethereum blockchain.
So, before we do anything else, we need to get you a private key.
Theoretically, you could just make up any 64 digit hex number and it’d work. But the human mind isn’t able to be truly random (even many common randomness algorithms aren’t completely random), so a lot of effort has gone into random number generation to create these private keys safely.
You’ll create yours with wallet software called MetaMask.
Quick note about wallets: We already discussed that wallets don’t “hold” your coins — tokens all live in the database of the blockchain. All your wallet does is hold your private keys. It then uses these keys to cryptographically sign transactions to prove that you are the one sending them. This signature gives you access to your tokens.
So, to get you up and running in the Ethereum ecosystem, you’ll need to set up MetaMask in your browser, buy Ether on Coinbase, and transfer it to your MetaMask address.
Here are step by step guides:
Put your Private Keys somewhere safe. I put my original keys from 2017 in Evernote and all my funds were stolen. Be smarter than me!
I recommend downloading a second browser (I use Brave) for crypto, to keep it safely away from other extensions or possible security risks.
Ether is the token of the Ethereum ecosystem.
To ensure you have enough to move around and go through this whole tutorial, be sure to buy at least 1 ETH.
It can be scary to click “send” and watch the money disappear from Coinbase.
If you’re feeling afraid, do a smaller transaction first to ensure it shows up in your wallet. This will double the transfer fees, but it’s usually < $10 for this transfer, so you may feel it’s worth it.
Be patient. It can take a few minutes to show up in your MetaMask.
You should now see a glorious view like this one:
Congratulations. You now have your own wallet with funds in the Ethereum ecosystem. A whole world is about to open up to you.
Step 2: Register an ENS Domain
It was pretty annoying to copy your whole address over to Coinbase to send the money across, wasn’t it? Did you have that moment of fear that there was a typo?
This is what ENS solves. In a completely decentralized way, ENS allows you to register a yourname.eth address that people can use to automatically forward funds to your address.
You’re used to .com addresses going into your browser and taking you to a website. ENS .eth addresses don’t use that. If you try to put them in a browser, nothing will happen. But if you put them anywhere that you want to transfer tokens, they will resolve to the correct address behind the scenes.
Follow these instructions: Step-by-Step Guide to Registering a .ETH Name
Note: This will be your first time experiencing gas fees on Ethereum. I’m sorry. Gas fees are the costs that you must pay for each transaction you perform. They vary based on the computation needed behind the scenes, but these days are usually in the $40-200 range. You can always check the Ethereum Gas Tracker to see the current gas price (if it’s 200+, I’d recommend waiting to do this another time).
It’s also your first time sending a transaction through MetaMask. MetaMask will pop up when you complete a transaction that needs to be signed by your private keys to prove that it’s you (which, of course, includes anything you are spending money on). It will show the estimated gas fee, and you can click Confirm to send the transaction through. All blockchain transactions take ~15 seconds to go through, so be patient!
You’ll notice that it takes a number of transactions to register the name. This is because of the architecture of how the registration is set up, with separate resolver contracts. It’s annoying, but you don’t need to worry about it.
For bonus points, also go through the process of setting up the Reverse Record. A simple way to understand this is that the original registration allows any app to go from yourname.eth to your address. If you set up the Reverse Record, it’s also possible to go from your address to yourname.eth, which is used by many apps to display your .eth name as a kind of username.
Congratulations! You just completed your first transaction on the blockchain. Now I get to show you one of the most handy websites you’ll use: Etherscan.
Etherscan is a public way to view all the transactions that have happened on the blockchain. You can use it to check on your pending transactions, look at past transactions, or look at other people’s transactions.
Go to Etherscan and search for your address (if you want to access it, you can open MetaMask and click on the account at the top to copy it).
This will open up a full overview of your address, including a history of all transactions:
You should see a few transactions there from the registration of your ENS name. You can click the Txn Hash on the left to go into a detailed view of the transaction.
Step 3: Bridge ETH to Polygon Network
You’ve set up a wallet, sent ETH to it, and registered your ENS name. You are on your way.
But, as you’ve noticed, transactions on Ethereum are expensive. There are many solutions in the works for this.
A quick aside to explain a few “scaling solutions”:
Side Chains (ex. Polygon, Fantom, Avalanche): These are completely separate blockchains that trade off a little bit of security for faster speed and lower cost.
These chains are “EVM Compatible” which means they use the same private & public keys as Ethereum (so your wallet will still work, since all it does is hold your keys) and the same programming language (so it’s easy for developers to move their apps over).
Layer 2s (“Rollups”): These are not blockchains. Basically, they are a way of gathering up transactions and doing the computations off-chain, then passing a proof back to the Ethereum blockchain using super complicated and impressive math to show that they were done honestly.
There are two paths to L2s. To overly simplify:
Optimistic Rollups (ex. Optimism, Arbitrum) are less rigorously proven, but use a “challenge period” to let people prove your computations wrong, and impose financial penalties for dishonesty. This works, except it causes a 7 day gap when withdrawing funds.
ZK Rollups (ex. Loopring, ZKSync) use a fancier math proof that gets around the need for this wait time.
If this interests you, the Ethereum foundation has a ton of great resources on scaling solutions. Here’s a link to explore further. And, as always, Vitalik has an incredible blog post on Rollups as well.
In the long term, I believe ZK-Rollups are the most promising path, but they are a new technology still in progress. Today, the ecosystems for the side chains are much more fully developed.
We’re going to move some assets over to the Polygon (also known as MATIC) ecosystem — which is a side chain — in order to play around there and save gas fees. I wouldn’t recommend sending everything over, as there will be things we’ll want to do later on Mainnet, so maybe put 0.5 ETH on Polygon and keep 0.5 ETH on Mainnet.
Here’s a step by step guide: How To Bridge Tokens From Ethereum To Polygon With MetaMask.
There are a few gotchas here, so I want to lay them out for you:
You need to add the MATIC network to MetaMask. I mentioned that Polygon uses the same private keys and addresses as Ethereum Mainnet. But you need to tell your MetaMask to flip to the other network. Here are instructions on how.
Be patient. Transactions across blockchains can be slow, so give it 5-10 minutes to go through and show up in your MATIC account on MetaMask.
If you want to check transactions, use PolygonScan. It’s just like Etherscan, but watches for transactions on the Polygon network instead. Your address is the same.
You will need to get some MATIC tokens. On Ethereum mainnet, Ether is used to pay gas fees. On the Matic network, you need Polygon (MATIC) tokens to pay gas fees. This used to cause a big problem, because you wouldn’t have the gas fees to pay to convert your ETH into MATIC, so you’d be stuck. Fortunately, Polygon came out with a tool to solve this. Go to this link and, using your Matic account on MetaMask, it’ll let you swap a small amount of ETH for MATIC to get you going.
Step 4: Swap More ETH for MATIC
Polygon was kind enough to get you started with a few MATIC for gas, but we’re going to want more of it for the liquidity pooling we’re going to do next.
Plus, it’ll be good experience for you to swap tokens, because this is the exact process you’ll use to buy any token in the Ethereum ecosystem.
We’re going to use an exchange called SushiSwap.
Quick history lesson:
When first decentralized exchanges were set up on the blockchain, they used an order book of bids and asks, like you might be used to in the stock market.
Because of high gas fees, this is really inconvenient. Too many transactions.
Vitalik wrote this blog post, which lays out how you might create an automated market maker so that everyone can clear transactions instantly.
Uniswap ran with this idea. It’s now by far the biggest exchange on Ethereum (it’s cleared over $386 billion in transactions).
In 2020, a group forked (copied) Uniswap to create SushiSwap, with the main difference being that SushiSwap is governed by the community. It’s also succeeded wildly, with over $140 billion in transactions. (Note: Since then, Uniswap has now shifted to a similar governance structure.)
Currently, we have about 0.5 ETH on the Matic Network, and just a few MATIC tokens for gas. We want our holdings in both ETH and MATIC to be equal for the next step, so we’ll want to convert 0.25 ETH into MATIC.
Note: Make sure your MetaMask is set to the MATIC network for this. You also have 0.5 ETH on Ethereum Mainnet, but you don’t want to touch that yet!
Step 5: Add to a Liquidity Pool
Alright! You just swapped tokens, and got the joyous experience of paying about $0.01 in gas to do it, rather than the $50 on Ethereum Mainnet. If you want, you can check out your address on PolygonScan to see the transaction.
The next thing we want to do is dive into the world of DeFi.
DeFi is a big topic, and if you want to go a bit deeper, I recommend checking out my friend Nat Eliason’s DeFi Orientation course. But if you just want to understand the basics, here’s the two minute summary...
The way decentralized exchanges like Uniswap work is that they hold a pool of each pair of two assets. Their job is to take either side of a trade between these two assets whenever anyone wants to swap.
How do they do this? The short summary is that they take in an equal amount of both assets. As people trade one for the other, the ratio they are holding of the two assets changes. In response, they adjust the prices. The more unbalanced the ratio gets, the further the prices get. You can go back to the Vitalik blog post linked above for a detailed walkthrough of the math.
But how do they get the pools of token pairs for these trades? From you!
This is liquidity pooling. Basically, you are offering a pair of tokens for a market maker like Uniswap or Sushi to hold and use. In exchange, they offer you a portion of the fees they charge.
But if that was all you got, the rewards wouldn’t be very high. DeFi has exploded on the additional incentives that come along with depositing this liquidity. Protocols who need more liquidity offer additional incentives for those who provide it, and platforms will sometimes supplement those to make them even higher. Things can get pretty ridiculous.
As a first example of this, you can follow minutes 5 to 9 of this video to add liquidity to the ETH/MATIC pool on SushiSwap. As of this writing, it pays just over 20% per year, which isn’t bad for two coins that are so stable.
But be careful! A few gotchas:
Interest rates can change. These interest rates are not locked in, and they can drop quickly if a lot of people take advantage of the opportunity.
Impermanent Loss. You put in an equal amount of both tokens. When you withdraw, you take out an equal amount of both tokens. This means that if the prices diverge, you’re trading some of the higher priced one for the lower priced one. This can make the whole investment a bust.
Your tokens disappear from your wallet! You are giving the tokens to the protocol. In exchange, they give you back “LP tokens” which represent your share of the liquidity pool. That’s what you use to withdraw your tokens when you are done.
People who are focused on this spend a lot of time finding the best liquidity pools (this is called “yield farming”). It’s not a focus of mine, but Nat’s course above has some good guidance if it’s something you want to get into.
Bonus Step: Staking
Many protocols require you to “stake” your LP tokens (or other tokens) in order to get additional rewards. This basically just means locking them up in their platform, sometimes for a set amount of time, or sometimes for as long or short as you want.
If you want to try this, you can use one of my favorite pools (disclosure: I’m invested, of course), Crypto Raiders.
Withdraw some portion of your LP tokens. This will put the ETH and MATIC back in your wallet.
Convert the ETH to RAIDER. This is a fun new challenge. RAIDER isn’t listed on SushiSwap, so you need to manually input their contract address to have it show up. Here’s the contract address: 0xcd7361ac3307D1C5a46b63086a90742Ff44c63B3
Deposit liquidity to the RAIDER/MATIC pool through Sushi. Here’s the link to that specific pool.
Take those LP tokens and stake them with Crypto Raiders. Go to bank.cryptoraiders.xyz/, click on the RAIDER/MATIC pool, and go to Stake. It should see that you already have RAIDER/MATIC LP tokens. Click Stake and sign the transaction. Your LP tokens will then be earning 200% interest (over 0.5% per day) in RAIDER.
Another protocol with a focus on staking is Olympus. I’m a big fan (disclosure: invested), but it’s a bit beyond the scope of this email. If you buy their tokens on Ethereum Mainnet, you can stake those directly to earn 8000% interest. Do your own research before getting too excited by this — I recommend reading their docs.
Step 6: Buy an NFT
Coinbase plans to launch their NFT platform later this year, but as of today, the only way to buy NFTs is to have your own wallet. So let’s take advantage of that!
NFTs are simply tokens where each individual token is unique, and has a unique owner. Every ETH is the same, so all the blockchain needs to do is to track how many you have. With NFTs, on the other hand, the blockchain needs to track which specific one you have.
Today, the most common use case is to represent digital artwork, but NFTs will expand to many different areas and use cases. It’s one of the most exciting areas in this space.
For now, let’s focus on the current use case. There are many platforms for buying and selling NFTs, but the most popular is OpenSea. It’s a marketplace where anyone can list any NFT, and you can place bids, or buy them outright. Once purchased, the blockchain updates its records to show that you are the owner of that specific piece, and it appears in your wallet.
OpenSea also has a full platform to make it easy to upload and create your own NFTs. We’ll save that part for another day though :)
Note: Most NFTs exist on Ethereum Mainnet. If you want to buy anything substantial, you’ll want to switch back to Mainnet and do it there. If you just want to mess around (with lower gas fees), OpenSea does have a section for NFTs selling on Polygon.
Once you’ve bought the NFT, navigate to your OpenSea account (by clicking the circle in the upper right corner) and you should see it listed there. Congratulations — you’re an NFT owner!
This is getting long, so I think this is a good place to leave it. As you continue to explore, here are a few direction that I’d recommend:
Play with Rabbithole. I haven’t used much of their stuff but have heard amazing things. They pay you in crypto to go through tutorials to learn about different apps and protocols.
Set Up Zapper. You already have assets on Mainnet and MATIC, and some normal tokens, NFTs, LP tokens, staked tokens — it’s a lot to keep track of. I’d recommend setting up Zapper, which pulls a lot of this and puts it in one handy dashboard.
Get a Hardware Wallet. Remember that all MetaMask does is hold your private keys and sign things to prove it was you? Well, the risk there is that if someone hacks your computer, they could sign things on your behalf. A hardware wallet takes that responsibility. It holds your private keys and transactions are passed to it to be signed and then passed back. That means the keys never touch an internet connected device, so they are much safer. They are super annoying but, once the money gets to be a meaningful amount, worth it. Here’s a post that explains the basics and walks you through it.
Get on Discord. Almost every project (DAO, software tool, protocol) has a Discord channel. One of the most incredible things about this space is the access you have to the projects you care about. It’s easy to ask questions, contribute, or just hang out. But this can get exhausting and overwhelming too, so don’t feel the need to go too deep unless something calls you.
Join a DAO. DAOs are Decentralized Autonomous Organizations. They come in many shapes and sizes, and most are experimenting with radically new org structures. Find a DAO doing something you care about and get involved. The best first step is to join their Discord and introduce yourself. Eventually look for opportunities to vote on proposals (you’ll use tools like Snapshot for gasless voting), join calls, or even work on a project. This is too much to get into here, but here are a few I’d recommend checking out: Index Coop (known for being very well run), Forefront (a DAO about DAOs, so great for learning), and VitaDAO (you may see me in there).
Don’t Get Scammed. Almost everyone in this space has an experience getting scammed early on. I left my private keys in Evernote. I have friends who have accidentally uploaded them to Github, or clicked fake links. Be careful! But no matter how careful you are, you may slip. My advice is to play with small amounts of money for the first 1-2 months, so your worst case isn’t too bad. Once you’re more comfortable, you can always increase.
I hope this was helpful!
If anything in here was unclear, or you got stuck, or you have any other feedback, you can respond to this email or yell at me on Twitter at @zachobront.
Until next month,