WWCode Talks Tech #18: How to get started with Web3
Written by WWCode HQ
To discuss a 360 Degree Approach to Web3 and Blockchain, we need to go back a bit in history when we had Web1. Web1 was static HTML. When the internet had just started, we just had Web1, which we can only read. Over time, the idea of Web2 was developed, where we can write and also read data. We don't have to read or take the information by writing. We can also provide the information. Why was there a need for new technology? There were several reasons. One of them was banks. When you make an online transaction, there's a middleman who is a bank. They charge you a certain amount of transaction fees. To avoid that, we eliminate that middleman using Web3. The second is a central authority. Web3 removed the central authority we have.
Lastly, a really important one is ads. If you talk about something on WhatsApp or want to buy, you instantly get an ad about it in another app. Privacy is going away with ads. There are some rumors that these big corporations steal our data and use it for their ads. You might have heard the quote that if you're not paying for something, you are the product. Everything is free in Web2, you can use Facebook or Instagram, and Twitter is free, of course. You are the product because you have targeted ads. You might have seen the massive increase in our ads on Instagram. You scroll to any post, and you'll see so many ads going over there. These were a few of the reasons why Web3 came into the picture. Web3 uses the power and leverages the power of blockchain.
Web3 and blockchain are different. Blockchain is a concept, and Web3 is using this power of blockchain to create decentralization. Peer-to-peer means it's not using a server-client model, you are not just requesting your data from a server. Let me use the example of UTorrent. If you guys have used UTorrent, it is a peer-to-peer network. People use it to download movies and CDs, and anything available online. It gives you a better connection. Your download speed is greater. When you request a download, it finds the nearest node, the nearest computer with the movie, and it downloads from there. Blockchain has a peer-to-peer connection, meaning a set of nodes is working. There's no server-client model in the blockchain. Second, it is decentralized and distributed. All these sets of nodes have the same data and the same ledger.
Whole data is distributed, which in turn creates decentralization. In the server-client model, if a server goes down, you must wait until they fix it to access your social media account or anything you have. Because of blockchain, you have other nodes working even if one node goes down. This supports decentralization. The next thing is transparency. Transparent because all the data is in every node, the data is transparent. You can't mutate the data, so it is also secure. Every user has their own set of keys, public and private. Everyone can see your public key, but the private keys are private. The private keys are used to sign your transaction. It shows that you are the owner of this transaction or you are the person who signed this particular transaction.
Blockchain works on smart contracts; the whole smart contract is an automated transaction. Dapps are decentralized applications. They are divided into two parts: off-chain and on-chain. With off-chain, there's a front-end and a back-end. There's also a wallet. With Web2, we had a login system. We would log in using our Google account or any account we had, or we used to add our username and password. With wallets, you can log in a decentralized application using your wallet. You can get these wallets through extensions called Phantom or MetaMask, whatever blockchain you're using at that time. There's an on-chain code that is uploaded on your blockchain. There are different types of blockchains available. The smart contracts are the ones that are uploaded on the blockchain. The off-chain part is your frontend and backend uploaded on your normal cloud hosting websites, and the smart contract is uploaded on your blockchain.
There are a lot of blockchains available. The most popular ones are Ethereum and Bitcoin. Bitcoin was the first blockchain. It was the beginning of blockchain and Web3 after that. The most famous are Ethereum, Polygon, and Binance. There are two types of blockchain, there are EVM and non-EVM. Solana and Terra are non-EVM based. If you write a smart contract in Ethereum, you can easily adapt them into Polygon or Bitcoin, but you can't adapt them into Solana because they work differently. They have a different architecture. These are basic concepts. This is just the tip of the iceberg about Web3.
People say you must know web or app development before learning blockchain. I don't believe it is true. You can start with blockchain concepts. If you're a YouTube person or like to read blogs, spam yourself with different concepts. Blockchain is a vast concept, and there're so many terms. There are NFTs, De-Finance, and crypto. You can explore and start with these concepts first. Then you can move on and start writing smart contracts. I usually recommend beginners to go with Ethereum because the smart contract is written in solidity language similar to JavaScript. If you are good with JavaScript, then you can go with Ethereum. If you are good with the Rust language, then you can go with Solana. Solana is also a powerful blockchain. After you have done your blockchain concepts and written your smart contract, you can build a frontend on it. You can work on the frontend and integrate it with your work. After the work is done, you can connect your frontend and back end properly. You have to integrate it and deploy it.
There are numerous resources available out there. You can start with YouTube and blogs because they break down big concepts into small topics. Then move to the official documentation of every blockchain. They're easy to use because they have divided it into really good parts and maintained it. I would not recommend reading the official documentation when starting because there are complex words, and you might get confused. Third is Twitter. Twitter is not for learning. Twitter is for staying updated about anything that is happening in the news. You can be updated and connect with other folks in this domain using Twitter. Fourth is Discord communities. Discord communities come in handy when you have a certain doubt. The community is really helpful and very open. For example, if you're making something, you're following a tutorial, and there might be a chance that the tutorial is one or two years old. There may be a chance that the methods or functions you are using are deprecated, or there's something new in the codebase that you might not know, and the tutorial person has not updated. You can ask these things on Discord communities and get yourself updated with the code. Lastly, learn from projects. Anything that you learn, you should always practice. I'm not saying that you blindly follow tutorials and do the same. Do the project and customize it from whatever you have learned. Upgrade your project and give it your personal touch. This also comes in handy when you upload your work on GitHub, so it gives you recognition of what you're working on.