For n00Bs

Welcome to your first Web3 tutorial! If you have never generated a cryptocurrency address or submitted a transaction on-chain, start here. If you're just looking for my writeup with general information on Web3 and Crypto, head to the Web3 section.

This tutorial assumes you're unfamiliar with the cryptography, math, and computer science concepts happening behind the scenes in crypto, so don't be discouraged if at any point you get confused. Don't hesitate to contact me with any questions or issues while you work through this tutorial- it shouldn't take more than an hour or so. If you want recommendations for further Web3/DeFi exploration, shoot me a DM on GitHub/Twitter/Instagram (linked at the bottom of the page) and I will happily assist.

What is a crypto address, you ask?

While you're at it, wtf is a blockchain anyway? Private key? Public address? What about NFTs!? What are self-repaying crypto loans? How does Cryptography work? Can I mine cryptocurrency with my computer to make money? How do I stake crypto for passive income? Are ENS (.eth) domains comparable to the more familiar DNS (.com or .org) domains? Facebook = Meta... verse...? Right? By the way, I also heard on Reddit that _insertRandomDogCoinTokenHere_ is the next Bitcoin?!

Isn't the wild west of DeFi only for people that Elizabeth Warren calls "shadowy super coders"? And most importantly:

iS KrIpT0 PoNZi ScHeME, sEr???

(no, lmeow...)

In this tutorial, I (robriks/👦🏻👦🏻.eth/@marsterlund) will show you that crypto is not shadowy at all! Not to mention that we crypto/computer nerds are not "shadowy super coders"!

All these questions need to be answered and explained to the public in a concise, educational format. This is my attempt to educate people on the equitable, self-custodial world of digital assets known as Web3. I'll try to keep it as non-technical and digestible as possible for you.

Again, if you're just looking to read about these concepts head over to the Web3 section.

What you will learn:

  1. Set up a crypto wallet via MetaMask
  2. Make your first on-chain transaction by claiming 69420 free tokens (HuskyCoins / $HUSKY) that I have coded and deployed on Polygon
  3. How to earn passive income by contributing to network security and decentralization via staking. (I've implemented staking functionality for $HUSKY so you can watch your balance grow in real time!)
  4. There is no next Bitcorn. Sry. :(

What you will not find here:

  1. Financial advice, lel.
  2. ($HUSKY is for educational purposes only)

Let's Get Started!

1. Download MetaMask

MetaMask is the most ubiquitous crypto wallet around, although other great wallets like Coinbase Wallet/Brave Wallet/Rainbow Wallet are available too. Each of these wallets connect to the blockchain for you and safely handle your private keys, but here I'll focus on MetaMask since it has the richest documentation.

Note: I have been asked many times if a Coinbase, Robinhood, Venmo, CashApp, or Paypal account will adequately serve as a crypto wallet. As of writing, these companies/services do NOT offer a native web3 wallet. (Coinbase Wallet is a separate app/browser extension than the Coinbase app you use to buy crypto). These services simply allow you to buy and sell the assets for price speculation. Boring!

With that out of the way, let's get started. On the HuskyCoin home page, click the box titled: "1. Setting up MetaMask" and follow the external MetaMask instructions on downloading and installing the MetaMask browser extension. Keep in mind that Safari is not supported; Brave is the most Web3-friendly (and my favorite!) browser.

Once you've successfully installed MetaMask for your browser, open the extension at the top right of the browser and click "Create a Wallet" under the "New to MetaMask" page. Select whichever data sharing option you wish and set a secure passphrase. Unless you are using a hardware wallet, this passphrase will grant access to your funds on this device so be sure to take security seriously.

Take a couple minutes to watch the short video about your secret recovery phrase. This phrase is derived to obtain your private key, which controls all of the tokens associated with your Ethereum address. Write it down out of view of any cameras and store it safely! If you plan to store any valuable sum of tokens, you should absolutely obtain a hardware wallet.

URGENT: Never share your seed phrase (12-24 words) or your private key in any way to anybody. Ever. Do not enter, copy-paste, or visibly/physically reveal your seed phrase anywhere, unless you are recovering a wallet. Do not respond to the "customer support" scammers that litter social media. Your seed/private key controls your money, so store physically it in a safe place on paper (or metal!) Advanced crypto users should always use a hardware wallet like a Ledger.

1.a Understanding Your Ethereum Address

Congratulations on generating your first Ethereum address! You can see it at the top of MetaMask, under "Account 1". Your address is a long string of hexadecimal digits starting with 0x, which indicates hexadecimal. For example, my address is:

This long address can be represented by a .eth domain, such as 👦🏻👦🏻.eth - this is called an ENS domain. Just like how DNS domains such as google.com and meatspin.com represent IP addresses, ENS domains help make Web3 addresses more human-readable.

The address displayed on your MetaMask is your public-facing account where you can store any tokens on the network, fungible or not. This includes cryptocurrencies like $ETH, which is the base layer token of the Ethereum blockchain and is responsible for securing the network. It can also store any fungible ERC20 tokens such as $UNI, $SHIB, or $LINK as well as any NFTs that you purchase from an NFT marketplace like OpenSea.

Back on the subject of $ETH, not only does $ETH secure the network but it also is necessary to maintain the ever-changing state of the global computer known as the Ethereum Virtual Machine, called the EVM for short. It's used to pay for all EVM computation, what we call transactions, in the form of gas.

We'll cover gas a bit more later, but basically you must pay $ETH for every transaction you make since it changes account balances in the global EVM state. Not only does every transaction change the state of the EVM, but more computationally intensive transactions require more gas to execute and are therefore more expensive.

This fee mechanic may be frustrating and confusing at first, but some form of it must exist on any blockchain in order to deter spammers. Think of it this way: if transactions were totally free to change computational state, a disgruntled person would write bots to send an infinite number of spam transactions and crowd out legitimate users submitting their transactions.

As a result, it can be very expensive to pay gas fees on Ethereum's mainnet during times of high network traffic. Even still, it's better than the alternative: a broken blockchain completely clogged by spam. Think of how many spam emails you get every day! What percentage of all email traffic do you think is spam? It's roughly 50% of all emails. Yikes.

Wen HuskyCoins, ser?!

Not so fast! I just got through explaining how annoyingly expensive gas fees are on Ethereum's mainnet! You think I'm gonna make you transact on mainnet?! No way!

Thankfully Ethereum's big-brain core protocol developers proposed a wild idea to solve these high gas fees: why not add another layer of blockchains on top of Ethereum? This is achieved by having new blockchains settle bundled transaction hashes onto Ethereum blocks.

I get that you're probably drooling for HuskyCoins right now, but you won't know how to claim them until I teach you how to access these nested blockchains that live on Ethereum! You'll get your $HUSKY soon enough, I promise.

1.b Understanding Ethereum Layer 2s

Separate blockchains that execute computation off of the Ethereum mainnet and then settle their hashed proofs to mainnet are called layer 2 (aka L2) blockchains. These layer 2 chains, called rollups, generally make use of either optimistic execution which is checked by fraud proofs or zero-knowledge proofs which is an actively researched field in mathematics. The technical details between either L2 rollup type are not important for me to go over, but definitely worth further reading if you're interested.

Anyway, these rollup chains run separate to the layer 1 mainnet, handling their own ecosystem of users and smart contracts. Using fancy math, they periodically settle hashes called merkle roots from the L2 to the L1, to prove that all funds are accounted for and all transactions are valid.

It's important for you to understand this concept because the smart contract I've written and deployed for you, HuskyCoin, exists on the Polygon layer 2 rollup chain. Technically it's a side-chain, but that's beside the point. The point is that the bytecode I wrote and compiled for the HuskyCoin token exists at the following smart contract address on Polygon L2:

Polygon: 0x8CFb42a80291737Cb62cEF7B665Fe1304D112Fee

Keep in mind that this smart contract address only exists on the Polygon L2; if you try to find it on mainnet or any other rollup, you won't find it. It also exists on Ethereum's Rinkeby testnet at the same address. The following link will take you to Etherscan's Rinkeby block explorer:

Feel free to interact with it however you like there. There's actually a bug (that I have since fixed!), so any of you 🎭👨🏻‍💻 hackers 👨🏻‍💻🎭 are welcome to break that testnet deployment of HuskyCoin. 😏 😏 😏

2. Connect to the Polygon L2 network

Now that you understand rollups, you're finally ready for the next step: configuring MetaMask to connect to the Polygon Layer 2 network. To do so, open your MetaMask extension at the top right of your browser and click the dropdown button labeled "Ethereum Mainnet V"

Lmeow I know it's an arrow and not a V but I couldn't figure out how to copy that dropdown arrow. Here's a picture if the V confused you:

This button is located at the top right of your MetaMask UI. It is the button you'll use to switch between layer 2 networks on the blockchain- note that only the Ethereum Mainnet is available to you at the moment.

We'll add the Polygon L2 mainnet to your MetaMask configuration by using https://chainlist.org. This site is where you'll find any EVM-compatible network RPC endpoints, such as rollups. I love using Chainlist because you don't risk mistyping any of the network configuration since it's as easy as clicking a button.

On Chainlist, scroll down the grid to the block labeled "Polygon Mainnet" and click the button labeled "Connect Wallet". Once you've done so, that button will change to one labeled "Add to Metamask", click it and then in the MetaMask popup that follows, hit "Approve"and then "Switch network".

If you were successful with those steps, you can skip to the next section titled "Using $MATIC for gas". The next bit is just backup information in case Chainlist is down.

In case Chainlist is down

If for some reason Chainlist has gone offline, I've included Polygon's RPC endpoint information for you below so that you may enter it manually should you need to. In that case, enter this information manually by opening the networks dropdown menu labeled "Ethereum Mainnet V" and click the "Add Network" button.

Fill out the required fields with the following information:

  1. Network Name: Polygon
  2. New RPC URL: https://polygon-rpc.com/
  3. Chain Id: 137
  4. Currency Symbol: MATIC
  5. Block Explorer URL: https://polygonscan.com

You'll know you're connected to the Polygon L2 network once the network dropdown box at the top displays "Polygon Mainnet V" instead of "Ethereum Mainnet V" as it did before. Again, those V's are my substitution for that dropdown arrow. MetaMask will also display a token balance of 0 MATIC instead of 0 ETH, since $MATIC is the Layer 1 token of Polygon instead of $ETH,

2.a Using $MATIC for gas

Almost there! The last step before you can claim your 69420 HuskyCoins is to obtain a small amount of $MATIC to pay the gas needed to execute any transaction on the Polygon network. I know I went on and on about how $ETH is the base-layer token that pays gas on Ethereum, but the Polygon L2 is slightly different because it uses its own separate token to pay gas. This is the case for a few of Ethereum's rollups. All the concepts discussed still apply, the only difference being that $MATIC on Polygon serves the same role as $ETH on mainnet.

You'll recall that gas is a mechanic which serves two main purposes:

  1. 1. Preventing spam on the network by incurring costs that disincentivize clogging the network.
  2. 2. Paying the miners/validators who maintain the state of the network. These are the backbone of the EVM, so they don't work for free!

I chose to deploy $HUSKY on the Polygon L2 because gas fees here are extraordinarily cheap! Each transaction costs a fraction of a cent: roughly 0.004 $MATIC each, which in USD terms at time of writing is roughly $0.006. Much cheaper than the gas fees you'll see on Ethereum Layer 1!

2.b Hit up a $MATIC faucet

Moving on, in order to claim your $HUSKY allocation, we first must hit up a faucet to collect a bit of $MATIC. Go to: https://polygon-faucet.m00n.city/ and click "Connect Wallet".

Once you've done so, click the same button now labeled "Get Some MATIC" to be sent a dust amount of $MATIC to pay for your first polygon transaction.

This faucet only sends you 0.005 $MATIC, which is roughly worth $0.008. It's possible that this low amount of funds will not even be enough gas to complete the tutorial, so I've included another faucet link: https://matic.zayd.info/.

Come back to this faucet later on in the tutorial if you run into congested network conditions that require more gas to execute your transactions.

Note: if neither faucet linked has any funds to dispense, or you complete part of the tutorial and don't have enough $MATIC for gas, message me using one of the social media links at the bottom of the page and I'll top up the faucet for you.

3. The moment you've been waiting for! Claim your $HUSKY tokens!

It's finally time to do what you came here for! By this point, we've discussed all the prerequisite knowledge you need to understand wtf is going on when you transact on Ethereum.

Head back to the HuskyCoin dApp home page and click on the box marked "3. Claim HuskyCoins from my faucet". On the faucet page, click "Receive HuskyCoins" and a MetaMask transaction prompt will appear.

Feel free to observe the uber cheap $MATIC gas fee and click "Confirm". Once the transaction is mined, you'll receive a browser notification from MetaMask that looks something like the one below. This means you've received 69420 $HUSKY tokens to your address!

Quick Troubleshooting

(Skip this if your transaction confirmed)

If you didn't get a notification like the one above, give it a few minutes as network conditions constantly vary. Check the "Activity" tab on the right of your MetaMask UI for something like this:

This just means network conditions require a higher gas amount. Click on the "Speed Up" button, which will increase the gas amount and resubmit the transaction. If you're having still issues, just DM me using one of the social media links at the bottom of the page and I'll help you out.

3.a Where are my HuskyCoins!?

Assuming you successfully claimed your HuskyCoins, you'll notice that your $MATIC token balance decreased slightly. That's because you spent a tiny amount on gas to the network. But wait, where are those 69420 HuskyCoins?

Sometimes MetaMask doesn't automatically pick up on when you've received or claimed tokens in your wallet. In this case, you'll simply need to import them.

Look at the bottom of the MetaMask UI for the "Don't see your token? Import tokens" link (pictured above) and click on it. On doing so, you'll be taken to a screen that looks like this:

The only field you need to fill out on this page is the "Token Contract Address" field; the rest of the fields will be populated for you by MetaMask. This is the HuskyCoin token contract address:

0x8CFb42a80291737Cb62cEF7B665Fe1304D112Fee

Paste that address into the token contract address field. Then click "Add Custom Token" on the bottom to confirm.

Congratulations! You can now see your 69420 $HUSKY balance in MetaMask under the "Assets" tab. This process of importing tokens is a vital Web3 skill because you'll need to import many of the tokens you interact with on-chain.

4. Now I want MOAR HuskyCoins

Time to stake them & watch number go up

The last concept for you to learn in this tutorial is how to stake a token to earn passive income. Nothing beats watching your staked token balance slowly tick upward, so I made HuskyCoin support staking!

Head back to the HuskyCoin dApp home page and click the box titled "4. Stake to earn more HuskyCoins". This will take you to the Staking page, where both your "Available $HUSKY balance" and your "Currently staked $HUSKY balance" are displayed. MetaMask may prompt you to connect your wallet again, in which case click the connect button.

Enter an amount (>100) that you wish to stake in the "Amount to stake" form and click the pretty green "Stake" button! MetaMask will then open a prompt for you displaying the amount of $MATIC required to pay gas; click confirm and wait a minute for your transaction to be mined.

Once your transaction is mined and written to the EVM, your "Available $HUSKY balance" will decrease by the amount you specified and your "Currently staked $HUSKY balance" will increase by that same amount. Now you can watch your staked $HUSKY balance tick upward roughly every 10 seconds, when every block is mined!

Note: If it's been a couple minutes without a confirmation notification and your available and staked balances are unchanged, scroll back up to the "Quick Troubleshooting" section and follow the outlined steps. If you still can't figure it out, reach out to me and we'll get you sorted out.

Congratulations! You've completed the tutorial!

I know it was a lot of reading and a lot of new information, but safely navigating Web3 has proven an extremely valuable skill in recent years. The crypto space is arguably today's fastest growing industry, and as a result of its open-source values with regards to code, it innovates on itself daily. I spent a lot of time making sure that you are aware of the cybersecurity practices that are vital to properly exploring the rapidly emerging new digital world we call the Metaverse. Rest assured that it only gets crazier from here, but completing the tutorial proves you are now equipped to face it all head on.

What's next?

If, like yours truly, you're mostly interested in DeFi, head over to Zapper.fi to start learning about the insane innovations of tokenomics and the digital economy. Platforms like Aave, Alchemix, and Yearn will be your home bases for obtaining self-repaying crypto loans and earning yields that are unparalleled in the legacy finance world. Did you know you can use staked $ETH ($stETH) as collateral to obtain loans while simultaneously earning staking yield?

If you're mostly interested in learning about buying and selling NFTs, OpenSea and Zora will be where you want to look. Remember that NFTs can be much more than just boring old JPEGs! For example, Mila Kunis and Ashton Cutcher's NFT project 'Stoner Cats' serves as a cryptographic club membership, where only owners of Stoner Cats NFTs can watch an animated show about weed-loving cats. They both voice characters on the NFT show!

You can also look into playing games built using NFTs, like Gods Unchained. If you're into Fantasy Football, there's an NFT version called SoRare. And of course you can monitor Twitter for the newest NFT art mints.

If you're not sure what you'd like to do next in Web3, check out RabbitHole, where you can get token rewards for completing various Web3 quests. Your on-chain history, viewable on Etherscan, proves your completion of these tasks. And it gives you an awesome historical record of your Web3 abilities and accomplishments!

Lastly, if you'd like to learn to code on blockchains and go the developer route like I did, CryptoZombies is your place to start. Here you'll learn Ethereum's programming language, Solidity, in combination with Javascript to build your own on-chain blockchain game using NFTs!

Safety Disclaimer: Alternative L1 Blockchains

Unfortunately, the widespread scams and rugpulls in the DeFi and NFT spaces mean that I have to finish out with a lengthy disclaimer on crypto blockchains other than Bitcoin and Ethereum. Basically it boils down to one thing: you're infinitely less likely to get scammed/rugged if you stick to the Ethereum ecosystem. BSC and Solana in particular are full of scams that draw you in with cheap fees and fast blocktimes.

That's not to say that it doesn't happen in the Ethereum ecosystem, but it's much less common. Not all cryptos are made equal. At the end of the day, the more you learn about how these protocols work on a technical level, the safer (and maybe richer ¯\_ (ツ)_/¯ ) you'll be.

MetaMask, in combination with these skills & concepts, is transferable between any EVM-compatible blockchain. The term 'EVM-compatible' refers to blockchains that are modeled after Ethereum's implementation. Among others, these include:

  1. BSC/BNB
  2. Polkadot
  3. Avalanche
  4. Fantom
  5. Ethereum classic

Although those blockchains can be interacted with by using the software and skills taught in this tutorial, they have each made certain tradeoffs in at least one of the three points in the Scalability Trilemma. The Scalability Trilemma refers to the balance between the three most important aspects of a blockchain: decentralization, speed, and fees.

This tutorial focuses on Ethereum and its layer 2 rollups (Arbitrum, Optimism, zkSync, Starkware, Polygon) because they are home to by far the largest and safest Web3 ecosystem. Other L1 blockchains that advertise extremely low fees or fast speeds have invariably made a tradeoff in one of the other trilemma categories.

You may encounter cheap fees and fast block times, but as a result of lowered decentralization your risk of being "rugpulled" or scammed are significantly higher. Mess around with the aforementioned alternative crypto networks at your own risk.

Thanks for reading!

📯~~👦🏻👦🏻.eth~~📯