Table of Contents
Web 3.0 Development – Complete Roadmap
Web 3.0 is a booming space. If you have heard about cryptocurrency or Bitcoins then chances are you must have heard about Web 3.0. The post is going to target the major questions that we have in mind about Web 3.0 which are as follows:-
- What is Web 3.0? and how it is different from the Web we use today?
- Why is there so much hype about Web 3.0 and what are the major advantages of Web 3.0?
- How can you learn about web 3.0?
- How to become a blockchain developer?
- What is the best way to learn web 3.0 development?
- How to build your blockchain applications?
- What is the difference between Web 3.0 and Blockchain?
In this post, we are going to see the complete web 3.0 stack that we need to build applications on Blockchain. We will see the complete roadmap to dive into the world of Web 3.0 development.
WEB 3.0 Introduction
Web vs Web 3.0
In today’s Web, every application, website, database is owned by somebody or some organisation which is hosted on some server or on a cloud. But, Web 3.0 is like having everybody working on the same shared network sharing all resources.
So, when you’re building applications on the web 3.0, we are building it on a Blockchain that is being shared by everyone at the same time. Before diving deep into Web 3.0, let’s see how have we reached from the original web to web 3.0 and what are the major technical differences between normal Web and Web 3.0.
Web 1.0 (1990-2005)
The original internet of static Pages. There was no interactive content. Web pages could be read-only. You send a request to a web server and the server will send you the static page.
There were a few content creators and users have no say. You could not even comment on posts.
Web 2.0 (2006-ongoing)
Web 2.0 is the normal internet which we use today. Internet Giants like Facebook, Twitter appeared on the horizon. Users could interact with the websites with HTML, JavaScript etc. However, the data was collected by the web giants. They could sell your data and target the users for advertisements raising questions on privacy. There is central control. If Facebook goes down, many businesses associated with Facebook goes down. There are issues of central point of failure, central control, restrictions, privacy issues, censorship issues in today’s world.
Web 3.0
Web 3.0 is the future decentralized internet based on blockchain technology. There will be no central control. Internet will be controlled by AI and machine learning algorithms. Web 3.0 will be a semantic web that is going to be controlled by machines with no central entity with smart contracts as the main driving force. DAOs (Decentralized autonomous organisations) will govern the real organizations.
Bitcoins, Ethereum and other cryptocurrencies will be the main financial forces behind Web 3.0.
We are going to see the other use cases of Web 3.0 later in the article as well. Now there are some major advantages of building applications over Blockchain than normal Web.
Advantages of Building Applications on Blockchain/ Web 3.0
- Decentralization. There is no central control. Community controls the applications rather than a single entity.
- No Single Point of Failure. There is no single point of failure. Unless and until complete Blockchain is down, your application will be working.
- Trustless. You don’t have to trust somebody else’s code. So let’s take an example of a bank if you are using a banking application, you trust their code that your transaction will succeed, what if the code has bugs, if they if it has, then it will not work as specified, right. But in the blockchain, the code is immutable. nobody can change it, not even the Creator itself. So trustless.
- Permissionless. For example, if you want to build something on AWS, you have to take permission from Amazon to build something on it. But blockchain web 3.0 is permissionless. You need not take permission from anybody to build applications on Web 3.0.
- Transparency. Everything that is going on in blockchain can be viewed on a public ledger.
- No Censorship. There is no single entity controlling it. No government agency can control it. So, there is no censorship.
Despite having so many advantages, there are still some web3 issues that need to be resolved but that does not change the importance and advantages of Web3.
Learning Web 3.0 Development – Roadmap
Pre Requisite Skills for starting Web 3.0 Development
Before jumping onto the web 3.0 journey, We are going to see what are the skills from web 2.0 that we can take to help in our web 3.0 development journey. The following tools and their experience will help you a lot if you are starting Web 3.0 development.
- TypeScript.
- JavaScript. React js is is an added advantage. So most of the projects on the web 3.0 are basically using React js as the front end.
- Next js is an added skill.
- Core computer science fundamentals like operating systems and how a database works.
- Basic cryptography like elliptical curve cryptography. Asymmetric key cryptography is the base of blockchain as the private keys are used to sign transactions and the basics of hash functions.
Web 3.0 Developer Types
There are two main types of Web 3.0 developers.
- Core Developers. They develop blockchain layer protocols, frameworks for building smart contracts and building nodes.
- Application Developers. They develop applications over blockchains like Uniswap that is powered by smart contracts.
The focus of the article is on application development.
Web 3.0 Application Basics
A web 3.0 application consists of 3x basic components.
- Frontend that users interact with. Basic Web 2.0 frontend development skills will be required here.
- Smart contracts. Smart contracts are the web 3.0 algorithms that actually run the logic. Mostly a programming language Solidity is used for writing smart contracts.
- Backends that join frontend and smart contracts. They also store files or important details like IPFS.
Web 3.0 Development Skills
Now, let’s see the skills, we need to learn to be a Web 3.0 developer.
Number-1 Blockchain Basics
Blockchains runs web 3.0. We need to know about the basics of blockchain, how blockchains work and what are the different types of blockchains.
Number-2 Blockchain development Languages
There are two major blockchains over which applications are being developed.
- Solana is a relatively new blockchain with low fees. Solana works on the rust language. So, if you want to write applications on Solana you have to learn rust.
- Ethereum is the most popular blockchain over which major web 3.0 applications are being developed. Solidity programming language is used to write contracts for Ethereum based applications.
Number-3 Learning Crypto Wallets
The next thing one should know about is using wallets like Metamask. Metamask is not the only option. There are other options as well but you should know how to use one wallet. Meta mask is the most widely used. So I prefer you learn how metamask work.
Number-4 Learn Reading Transactions
Etherscan gives a complete overview of the transactions happening over the blockchain. Learn to read the transactions. Get to know about the different fields and what do they mean. What are the function calls that are being made? Learn how to verify a contract from Etherscan.
Number-5 Learning Blockchain Testnets
If you want to build Daps you need your own blockchain you can build on. Ethereum has the main net and then there are test nets. These test nets have different uses and purposes.
As a beginner, when you are just starting out, these test nets are good. But when you’re building large applications, you are probably going to need your own blockchain. So, here the IDEs and open-source blockchains come into the picture.
Number-6 IDEs
- Remix. It is an online IDE for solidity, you can directly write code online and deploy your contracts there. This is an easy way beginner way of writing applications.
- Hardhat. It is the professional framework for writing web 3.0 applications. Hardhat is a combination of two tools. One is the truffle. Truffle was used for deploying contracts onto the blockchain and testing those contracts, etc. The second is called Ganache. Ganache is a local blockchain. If you execute ganache, it will run a local blockchain with 10 wallets and will give you some currency to play around. That’s what you need for development. That is your development environment in your local computer.
Ganache(local blockchain) vs Testnets
So, why do we need local blockchains even though we have testnets available for development? Test net is something that takes time. So if you want to test a transaction, you will have to wait until the transaction confirms. So it takes a lot of time for development purposes. For that reason, you have your own local blockchain. So ganache and hardhat can help you with that.
Learning Solidity
The best place to learn solidity is from a free resource called CryptoZombies . Most of the good tutorials
are in text not in video format. Now, these are some of the resources that will help you to master Solidity.
Beginner Level
Eattheblocks Youtube
Smart Contract Programmer Youtube
DApp University Youtube
Solidity by Example (text-based tutorials)
Freecodecamp complete solidity course (37 Hours)
Intermediate Level
Solidity Docs
Read other people’s code
Expert Level
Ethereum Docs
Secureum for Learning Etherium VM
Mastering Ethereum – Gavin Wood
Solidity alternatives for Blockchain development
The people who code in Python, there are alternatives. So for Python, there are tools like serenity and Viper, which are very similar to Python. And for hardhat, there is an alternative called brownie, which is very similar.
Collaborations
Collaborations in building Dapps are very essential and helpful. Create a Twitter account, let the world know what you’re building. Make connections, make the world know what you’re doing. Join discord, communities, follow people on Twitter and speak about it, what you whatever you’re learning, spread about it, build in public and learn in public. Join the hackathons and competitions. A few of the resources are given below that will help you to track hackathons.
Web 3.0 – Projects and Categories
There are a lot of applications that can be built for web 3.0. It’s completely up to a person about what they want to build, but these are some of the major categories.
DeFi – decentralized finance
You can build applications like Flash loans, decentralised exchanges, futures, options, leverage, leverage markets, etc. DeFi is for people who love economics and finance.
eg:- Uniswap (decentralized Dex), Aave, Compound. Openzeppelin
NFTs – Non-fungible tokens
There are other applications like NFT marketplaces or applications like Patreon, Kickstarter, etc
eg:- Openzeppelin (ERC721, ERC20, ERC1155)
DAO – Decentralized autonomous organizations
DAO is, basically a decentralized autonomous organization. So the concept is basically having a company where no one is the king Okay. Usually, in traditional companies, there is a board of directors. Every decision made is finalized only by them no matter how good your suggestion is. DAOs are basically organizations where everybody gets to vote. For every change suggested, people vote using the governance tokens and then that decision is made. Everything happens on the chain, right. So everything is transparent. However, there are issues with DAOs like legal standings, hacks, and Ponzi schemes that must be considered before joining a DAO.eg:- Compound Governance, Snapshot
Metaverse
Metaverse integrates AR, VR and gaming. Metaverse is the new thing. . So if you want to build applications on Metaverse, the skills are going to be a bit different. You will have to learn about unity, phaser js etc
eg:- Decentraland, Sandbox.
Ethereum Security (optional) (very high demand very low supply)
- Ethernaut
- Damn Vulnerable Defi
- Capture the Ether
- Trail of Bits blogs
- Paradigm Blogs
FAQ
Why smart contracts and blockchain development is on Ethereum and not Bitcoin?
Bitcoin does not have the required features for web 3.0 development. Ethereum is a Turing Machine where we can execute commands on. Bitcoin cannot execute such commands. However, there are attempts that are being made to develop daps on Bitcoin as well. However, developing a bitcoin app is not an easy task as it is not fundamentally made for such things.
What if someone makes a function call to the blockchain, which goes into an infinite loop?
Blockchains work on gas. The problem is that the gas is like a limit to which your transaction will go. So let’s say you have a function that has 100 lines of code. So in order to execute a transaction, every line will take some amount of gas. So if you’re trying to run an infinite loop unit, you need infinite funds, which is practically not possible.
Can you code in python for Blockchain?
Yes, there are tools like serenity, viper and Brownie that help build on blockchain with python.
Disclaimer
The Post is only the views of the author and should not be taken as legal or financial advice.
heah Hassan I’ve come across the best page where almost all queries get cleared because you explained it in a very organized way. In this blog, you went through a sequence that helps a lot to understand the what exactly future gonna be like and for me, this is actually working as the roadmap.