Web 2 to Web3 Learning Guide

5tGG...kNBo
2 Jun 2023
82

This learning route is enough for you to transition from a web2.0 developer with zero foundation to web3 to a Solidity language expert and blockchain expert.

Blockchain Basics


Blockchain is the foundation of web3. You start by understanding how it works and why it could revolutionize the way we exchange goods and pay.

Blockchain technology is not only related to cryptocurrencies, but has become a real distributed cloud computing system that can run a complete backend to power the front-end decentralized applications (DApps).

After learning the basics of blockchain, you should be able to accurately answer the following questions:

  • What is the difference between Web1.0, Web2.0 and Web3?
  • What is blockchain?
  • What is a distributed ledger?
  • What are cryptocurrencies?
  • What is a crypto wallet?
  • What is a blockchain explorer?


Decentralized application basics


When you understand what is blockchain, Node, consensus mechanisms and the main components of these technologies, you should be thinking: "What kind of applications can I develop using blockchain?"

Applications built on the blockchain are called decentralized applications or DApps, which are very similar to traditional Web2.0 applications in terms of structure, and consist of two parts:

  • Standard frontend built with JavaScript or frameworks/libraries like React, Vue, Svelte, etc.
  • Backends built in languages ​​like Solidity/ Rust, built on top of the blockchain.


In addition to understanding what a decentralized application is, you also need to understand how the front-end and back-end of a DApp communicate and exchange data. You need to learn front-end development and back-end development, and you need to master the basic principles of API.

Front-end development related knowledge


As I mentioned earlier, decentralized applications need a standard front-end project, which is why you need to learn front-end development before developing your first DApp.

There are many front-end frameworks and they are also very complex. I suggest that you only choose one of them, such as React, which is currently the most widely used.

Knowledge about backend development


There are many differences between the backend of DApp and the backend of traditional Web2.0, the most obvious of which is that the backend of DApp needs to use blockchain as the main way of decentralized data storage, while the traditional backend usually uses database or Object storage to store data. But most technical principles remain the same.

Here I suggest you choose some popular technologies, such as learning Node and Express. Or learn Next.js, a full-stack framework based on React and Express.

Ethereum concepts and principles


Ethereum is a software that runs on a computer network and is also a digital currency.

Most DApps now run on the Ethereum blockchain, and the concept of smart contracts was first introduced by the Ethereum Alliance and then copied by other blockchains.

Each blockchain has its own ecosystem, and we have to choose one of them.

They each have their own characteristics and advantages, but I recommend Ethereum because the information about Ethereum on the Internet is very rich.

To become a web3 and Solidity developer in 2022, understanding the concepts and principles of Ethereum is key.

When you have finished learning the concepts and principles of Ethereum, you should be able to accurately answer the following questions:

  • What is an account?
  • What is a transaction?
  • What is a block?
  • What is the Ethereum Virtual Machine?
  • What is Gas?
  • What is a node?
  • What is the Ethereum network?
  • What is a consensus algorithm?
  • What is the Ethereum Trilemma?
  • What is the Beacon Chain?
  • What are sidechains?
  • What is a merger?


The concept of smart contracts


Smart contracts are software stored on blockchain-based platforms that automate the execution of agreements.

The languages ​​in which smart contracts can be written are Solidity, Rust, and Vyper, the most popular of which is Solidity. It is a key component of any DApp, running the business logic of the DApp and allowing you to store information on the blockchain.

Solidity & Remix


After understanding the smart contract, you need to learn how to write your own smart contract and use it to support your own DApp.

Although there are many languages ​​​​you can write smart contracts, I still recommend you to learn Solidity.

Solidity is a high-level, contract-oriented programming language for writing smart contracts, which allows programmers to write the self-executing code that powers blockchain DApps.

Remix is ​​an editor that specifically supports Solidity to write smart contracts. It runs in the browser, and by default, no configuration is required to compile, deploy, and test.

Hard Hat


Although Remix is ​​very powerful, according to my experience, building a smart contract development environment locally will have a better experience. And HardHat can help us achieve this goal, let us write Solidity smart contract projects in VSCode.

HardHat can create, test and deploy DApps on multiple chains, such as Polygon, Ropsten, Ethereum Mainnet, etc.

You can also use it to spin up a local Ethereum node to test your smart contracts without deploying them to the public blockchain.

Web3.js/Ethers.js


After you are able to write smart contracts using Solidity, you also need to learn how to connect your frontend to a backend developed in Solidity. Although there are some differences from the traditional Web2.0, the communication method is still something like HTTP or WebSocket.

At this point, there are two libraries to choose from: Web3.js and Ethers.js.
Web3.js has more comprehensive functions, and Ethers.js is more lightweight. The number of users is similar, but the download volume of Web3.js on npm will be higher, and you can give priority to learning Web3.js.

Alchemy


In Web2.0, there are many cloud vendors that can provide us with deployed infrastructure services, such as AWS. We can think of Alchemy as AWS in Web3, which provides all the required infrastructure for deploying DApps.

Alchemy also has more features, such as providing us with an API to deploy NFT collections without writing a single line of Solidity code; connecting to notifications for on-chain events; and enhanced Web3 library.

Develop the first DApp


After you have learned all the above things, it is time to make a DApp to verify your learning results.

If you don't know what kind of DApp to develop, then my suggestion to you is to build a cryptocurrency or NFT market.

If you really don’t know what DApp you should make, I can tell you a trick. You can go to some recruitment websites and see what companies that recruit Web3 developers with high salaries are doing, and then you can just follow suit.

truffle & ganache & drizzle


There are various frameworks in the Web2.0 world, and Web3 is no exception.

Truffle is a blockchain framework that provides most of the functions that will be used in developing blockchain applications. A development environment, testing framework, and asset pipeline for any Ethereum Virtual Machine (EVM) blockchain.

In addition to truffle itself, it also provides ganache and drizzle.

Ganache is used to develop personal blockchains, which can deploy contracts, develop applications and test.

drizzle is a set of front-end libraries, which are easier and more observable when writing the front-end of DApp. It is based on Redux.

Test the smart contract


Different from traditional Web2.0 applications, the special feature of blockchain is its irreversibility. Once a smart contract is added, it cannot be edited or recalled, and it also needs to spend Gas fees during deployment.

So testing is especially important for Web3 DApps.

The ways to test smart contracts are:

  • node test
  • function test
  • Performance Testing
  • API testing


After learning all the above content, you are a qualified blockchain Dapp developer. You can write safe and standardized smart contracts, and deploy smart contracts on the Ethereum network, and then interact with smart contracts and Dapps through web3.js or ethers.js calls to realize the development of the entire Dapp. It is never too late to learn Web3, I hope you can join the Web3 world as soon as possible!

Write & Read to Earn with BULB

Learn More

Enjoy this blog? Subscribe to CapitalThink

3 Comments

B
No comments yet.
Most relevant comments are displayed, so some may have been filtered out.