Learning Web3: A Roadmap
Find out the recommended steps to learn Web3. This thread is based on experience and is focused on developers and education.

Francesco
· Developer Advocate at @dailydotdev · Docker Captain · Public Speaker · Building a 1 Million Community 23% · All the links ➞ https://t.co/2DLpQ5cNoa

-
What are the recommended steps (roadmap) for learning Web3?
— Francesco (@FrancescoCiull4) April 7, 2023
This is an unbiased thread focused on developers and education.
Keep reading ↓ pic.twitter.com/7v5kqoWg1J -
Where to start?
— Francesco (@FrancescoCiull4) April 7, 2023
When we want to begin something new, we need some direction to avoid getting stuck at the very beginning.
But we are all different and have unique ways of learning.
This thread is based on my experience, and it helped me a lot in learning Web3.
↓ -
Roadmap
— Francesco (@FrancescoCiull4) April 7, 2023
I'm not too fond of roadmaps, but reading one can give us an idea of what to expect & help us ensure we're not overlooking anything.
Refrain from treating a roadmap as an infallible guide but as a helpful reminder to stay on the right track.
there are many
↓ -
To start, you can check the resources below.
— Francesco (@FrancescoCiull4) April 7, 2023
It's part of a project I maintain to make Web3 accessible to everyone for free.https://t.co/MN0bdhtcV1 -
Blockchain Fundamentals
— Francesco (@FrancescoCiull4) April 7, 2023
Basic concepts about the blockchain.
· Web1, Web2, Web3
· What is a Blockchain
· Distributed Ledger
· Crypto basics
· Smart Contracts
· Wallets
· Block Explorers
· Blockchain Oracles
· NFT Intro
· DAO Intro
· Dapp Intro
Fundamentals are fundamental -
Choose a Blockchain:
— Francesco (@FrancescoCiull4) April 7, 2023
Each blockchain has its own ecosystem with pros and cons. Choosing one can help you learn and apply concepts.
I went with Ethereum because there's more online material. pic.twitter.com/Al6qzdAXJC -
Ethereum Concepts (basics)
— Francesco (@FrancescoCiull4) April 7, 2023
Learn the basics of the Blockchain.
For Ethereum:
· Accounts
· Transactions
· Blocks
· EVM
· Gas
· Nodes & Clients
· Networks, Node Providers
· Consensus algorithms
· Beacon Chain
· Side Chains
· The Merge -
Ethereum Concepts (Advanced):
— Francesco (@FrancescoCiull4) April 7, 2023
If you want to dive a bit deeper, here are some articles and concepts you can explore:
- Ethereum Whitepaper
- Ethereum Trilemma
- "EndGame" (an article by Vitalik)
- Ethereum Yellow Paper
Note that these resources are optional. -
Choose a language:
— Francesco (@FrancescoCiull4) April 7, 2023
Solidity (recommended for JavaScript/C++/Python developers)
Vyper (recommended for Python developers)
Rust (choose this if you selected Solana as your blockchain)
I chose Solidity because it is the most popular option. -
Solidity (Blazing Fast Intro):
— Francesco (@FrancescoCiull4) April 7, 2023
It's an oo, high-level language used for implementing smart contracts.
It is statically typed.
It is a curly-bracket language designed to target the EVM.
Solidity supports inheritance, libraries, and complex user-defined types. -
Solidity Videos:
— Francesco (@FrancescoCiull4) April 7, 2023
Here are some good YouTube channels to learn more about Solidity:
Patrick Collins (JavaScript version)
Patrick Collins (Python version)
Gregory (Dapp University)
Smart Contract Programmer pic.twitter.com/qvIsYEU18W -
Solidity Support:
— Francesco (@FrancescoCiull4) April 7, 2023
- Remix IDE (great for getting started without setting up a local environment)
- Solidity Docs
- Solidity Cheatsheet
- CryptoZombies (a fun online tutorial for beginners) pic.twitter.com/7CO7WMOz5D -
Use a Framework:
— Francesco (@FrancescoCiull4) April 7, 2023
Once you have mastered the basics, you can delve deeper by using these tools and working in a local environment:
- MetaMask
- VS Code Solidity Extension
- Truffle
- Hardhat
- Brownie
- Embark -
Connect Dapp to Frontend:
— Francesco (@FrancescoCiull4) April 7, 2023
Are you a front-end developer? Great news! You don't need to learn a new framework - use a library to interact with the blockchain.
You can use any frontend framework (React, Vue, Angular, Svelte, etc.)
Try using:
- Web3.js
- Ethers.js pic.twitter.com/BElOyPjjIw -
Decentralized Storage:
— Francesco (@FrancescoCiull4) April 7, 2023
Here are some examples of storage you can use to store your data on the blockchain (similar to databases):
- IPFS
- Arweave
- Filecoin
They are peer-to-peer networks of user-operators who hold a portion of the overall data. pic.twitter.com/O4NdVpLZv8 -
Mid-Level Tools:
— Francesco (@FrancescoCiull4) April 7, 2023
Most of these tools are simple and simplify the process. However, it's better to discover them after understanding the basics.
- Testing Tools: Waffle, Ganache
- OpenZeppelin
- WalletConnect
- Chainlink
- TheGraph pic.twitter.com/u4q6HSNQ5I -
SDKs:
— Francesco (@FrancescoCiull4) April 7, 2023
Once you grasp what a dapp is and have made some examples, you may want some support and not write everything alone.
Here are three good ones you can check out:
- Alchemy
- thirdWeb
- Moralis pic.twitter.com/jo7X7MzPVL -
Build projects
— Francesco (@FrancescoCiull4) April 7, 2023
Build projects! I leave some suggestions where you can get inspiration for building projects, but there are way more on YouTube.
· Solidity by example
· Moralis
· Alchemy -
Build in Public!
— Francesco (@FrancescoCiull4) April 7, 2023
This is not specific to Web3, but building in public has several benefits:
- You gain a better understanding of the concepts.
- You build an audience.
- You connect with people who share similar interests.https://t.co/tj0HjpHxrO -
Join a Community! Last but not least, joining a community can be super useful. Good examples:
— Francesco (@FrancescoCiull4) April 7, 2023
- @LearnWeb3DAO
- @developer_dao
If you are a Content Creator, You can also join@4ccommunityhq
. We have a specific section for Web3.https://t.co/hTcrAHK79W -
Here is a video version, in case you are interested:https://t.co/F8pbtkqoQx
— Francesco (@FrancescoCiull4) April 7, 2023