• A few weeks ago I got a Web3 project. I have 6 years of full-stack development, and I was a CTO for half a year.

    However, I never had to deal with Blockchain or Web3 before

    But, I like being challenged! And I know to learn stuff when I need it.

    This is how I successfully learned Web3 from scratch, and I delivered that contract.

    This is how you can also proceed and become a Web3 developer.

    Day 1~2: Mass learning 📚

    During the 2 first days, I learned in mass. That period had for purpose to understand the basics of Web3 and Blockchain.

    First, I started to go on Youtube to watch videos about it.

    When I don’t get a new word or a concept I write it in my list. Then I will try to find new videos or articles about these terminologies.

    Example: Gas fee, Smart Contract, DAO, Dapp, DEX, ERC-20, non-fungible token, Gwei, ICO …

    I write new concepts in my list and I will check them later.

    Each video gives me an average of 5–8 new terms.

    Watching 5 videos will already give me a new list of 25 other concepts to understand later…

    I made a notion page, where I wrote everything I understood. I will never reread these notes. I write for the sake of memorization.

    I spent around 7 hours by day for 2 days to do just that. In the subway, office, or when walking (podcast).

    My goal was simple: To submerge myself in this web3 world, to get lost.

    I will most of the time not understand more than 60% of what I’m watching or reading. But that’s all fine at this point.

    That knowledge will come back later on in some way…

    The goal 🎯: to submerge myself into web3.

    After 2 days, I feel like I have reached a rabbit hole. I knew it would happen. Each concept brings a new concept. It’s endless…

    However, I know that I need to pass to the next phase at this point. I need to put into practice the few things I understood.

    🔨 The next step: to put in practice all that knowledge.

    Here is a list of the resources I used during that period:

    📌 Whiteboard Crypto
    📌 Eat the blocks
    📌 Web3 Examples

    Day 3: Define the Web3 project scope

    I got a freelance project with some requirements: I checked the specs and tried to summarize them as much as I could with my current knowledge of Web3:

    👉 We need to make our own token.
    👉 When a user does something on the website (share an article, complete his profile), we send him our token.
    👉 The user needs to be able to add his wallet to our website.
    👉 We need to deploy that token on the Polygon Matic network.
    👉 When sending a token to the user, we need to automatically pay the gas fee.
    👉 For that, we need to allow our backend to pay that gas fee with our wallet.

    Scoping the project allowed me to think more clearly about the next steps.

    Then for each of these items I tried to understand which library and logic I would have to implement.

    I spent 4~5 hours searching on Google and writing pseudo-code.

    Then I asked a senior blockchain DEV if my plan looked credible to him.

    I also asked him some points I was confused about. For example, what would be the best way to automatically pay the gas fee.

    That discussion was fruitful, but I knew I still had a lot to learn and understand!

    Now I needed To see how other people are making Web3 app

    Next, let’s get my hand dirty, let’s practice and understand things by doing.

    Day 4~6: Get dirty with other Github repos 🔨

    That’s when I started to look on GitHub for Web3 repositories having similar functionality to what I wanted to achieve.

    When I find a repository, I look at the code. I analyze it and try to make it work.

    I then take some piece of that code and try to make it work on a new project.

    By doing that, I start to understand more clearly the thing I watched on YouTube or read on some blog.

    This is when I have some moment of: “ Oh yeah, this is why…! “ 😀

    By playing with Web3 repo, the theory starts to make sense.

    Here is a list of the resources I used during that period:
    📌 BuildSpace
    📌 Moralis Web
    📌 Nader Dabit
    📌 CryptoDevHub

    Day 7: Assemble the puzzle 🧩 & re-scope my project

    Right, after 2 days of playing with repositories and making code snippets, I started to understand what needed to be done for my Web3 project.

    I updated a little bit of my plan. And made it simpler and more secure than before.

    Then again, I asked another blockchain DEV to check it out. “ Better! “

    I’m ready to go and I will spend 2~3 weeks to finish that project.

    What I learned so far during this week: 📕

    • To set up smart contracts with Solidity and use Openzeppelin.
    • To handle user’s wallet with Metamask API and Wallet connect.
    • To set up a Testnet environment with HardhatJs.
    • To interact with my smart contract and make transactions on the back-end using EtherJs
    • To deploy smart contract into Polygon Matic.
    • To make timelock smart contracts.
    • A minimum of security when it comes to set-up blockchain’s features

    Resources

    Websites

    Twitter Accounts

    Communities - Discord

    YouTube Channels

    Prev:
    6 Mistakes to Avoid When Building a Business Website
    Next:
    15 Mindsets That Keep You Poor
    Table of Contents
    Table of Contents