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 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.
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.
- 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.
- 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.
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.
Read other people’s code
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 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 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.