I remember at the beginning seeing all the crypto news and badly wanting to contribute - but I didn’t know where to start. There are certainly many resources online, but as I was going through some google searches, they still seemed too complex for my smol brain to understand. While this may not be everyone’s case, if you can relate, then know that you’re not the only one, and it’s perfectly normal.
So, grab your hammer, anvil and laptop and let’s get to work! (pls don’t smash your laptop though ser! 🙏)
Mandatory Readings
I found the number one reason preventing me from understanding any web3 dev tutorial out there was quite simple, actually: you need to understand how the blockchain works first.
So, enough blah-blah-blah, let’s get to the action.
There are two mandatory readings you have to do:
The Bitcoin whitepaper. This is what started everything. It outlines the concept of the OG blockchain. Make sure you get the general idea about how Proof of Work (PoW) works, at the very least.
The Ethereum Whitepaper. Although it is slightly a chunkier read, this is mandatory. The whitepaper still stays at a high level and explains how Ethereum works and gives some of its applications. It is essential, as you’re about to deploy smart contracts on this network! ;)
Now you should have a good idea of how blockchain works. If you’re the type that likes a challenge, you can read the Ethereum Beigepaper which outlines the technical specification of the Ethereum chain. I highly recommend this paper even though it is harder to understand. It can be helpful at times, especially to know the gas costs for each EVM (Ethereum Virtual Machine) operation.
Note
Do not skip the two papers above. They are crucial in your learning; there is no easy way around this. Grab a nice cup of coffee or tea, sit comfortably on your couch this Saturday afternoon and take your time to go through them. It’s 100% worth it, giving you a real edge over those who “dabble” in crypto.
Time to Code
Now that you know the theory, I’m sure you can’t wait to get your hands dirty, so let’s dive right into it!
Getting Started with Solidity and dApps
Crypto Zombies. One of my favourite tutorials and arguably one of the best introductory courses to smart contracts. It also covers interactions with smart contracts from a dApp (decentralized app).
The Ultimate Ethereum Dapp Tutorial. A great step-by-step tutorial on deploying a smart contract on a local test blockchain and setting up a dApp that interacts with it.
Hardhat. My favourite development tool for writing, testing and deploying smart contracts. More on that later ;)
The Ethernaut. A gamified way to increase your knowledge of smart contracts. Each level is a smart contract that needs to be “hacked”.
Official Solidity Docs. If at any point you have a question about syntax or solidity in general, check the docs! Take your time to read through the different concepts as it is quite the source of truth.
ethers.js and web3.js. Two javascript libraries fulfilling the same purpose of interacting with EVM-compatible blockchains. I prefer ethers.js as it works well with hardhat (see above) but web3.js is great too.
EthernautDAO (Discord). Although this is not a website nor a tool, the EthernetDAO is a community. One of the best ways to learn is to be surrounded by people who are eager to learn the same thing as you, so I strongly recommend joining them as it is a perfect entry point into the web3 world as a developer!
Note: I recommend following the order as numbered to make your life easier.
As you go through these, don’t rush, and enjoy the process! The craft of being a blockchain engineer is very rewarding but it takes a lot of time to master and if you go too fast you might get quickly overwhelmed by the amount of work to do.
Bonus
There are many more resources than what I’ve outlined above, but if you go through them you will have a very solid (😼) foundation.
Since we’re already on the subject, I’d like to share some other helpful resources/tweets I’ve encountered:
How does bitcoin actually work? A YouTube video with nice animations explaining the bitcoin whitepaper, basically:
A nice thread of web3 resources:
OpenZeppelin. A library for secure smart contract development. It includes smart contracts for tokens, NFTs and much more. Their contracts are considered secure and “gold standard” in the industry.
Gitcoin Quests. A fun gamified way to learn about the web3 ecosystem:
How to Become a DeFi Developer by Kerman Kohli. A beautiful and comprehensive article on how to become a DeFi dev:
Conclusion
I could keep going but let’s do one hammer strike 🔨 at a time! In the following articles I will go over various subjects touching from the above and go deeper into the rabbit hole.
Now that you have the basic tools under your belt, there is no better way than putting everything into practice through a personal project. If you want to take on the challenge, what are you going to come up with?