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 learnt 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 learnt 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 - To define the scope of the Web3 project I will work on
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-5-6: Make my hand dirty with other Github repositories. ๐จ
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: To assemble the puzzle ๐งฉย and to 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 learnt 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
- ...
ย
I made a PDF with all the resources I have been using in my web3 journey: check it out here
Whatโs Next?
Iโm planning in the future, to release Saas App using Web3 and also to accept more freelance contracts using that technology.
๐ You canย follow me thereย on Twitter, as I continue to document my journey.
Top comments (0)