Zero to Hero: Web3.0 and Solidity Development Roadmap 2021

Learning Web3.0 and blockchain development today is like buying a Bitcoin at $10 yesterday.

Originally published on: The Complete Web3.0 and Solidity Roadmap 2021

Entering the Blockchain industry where the average programmer is paid around $140k/year, is probably the best investment you can make as a developer.

Unfortunately, the web has a scarcity of good resources and finding a good blockchain development roadmap might rapidly become tedious.

I’ve taken the time to gather the best online videos, courses, and websites and put together the best resources to learn web3.0 and blockchain development.

From complete zero programming knowledge to Solidity and Blockchain expert, that’s why we’ll start with the fundamentals of Computer Science.

1. Before Web3.0 and Blockchain: Fundamentals of CS

A Skyscraper needs solid foundations to not collapse.

Blockchain development it’s a tough subject, I won’t lie. Before digging deeper into nodes and blocks and start your roadmap, better learn the fundamentals of computer science:

The famous CS50 — fundamentals for Computer Science — free course issued by Harvard itself will teach you all you need to know to understand the basics of computers and data handling.

Once you’ll have some CS understanding, it’s time to learn how the Blockchain works, why it’s useful, and its limitations.

Screen with some code on it

2. Learn The Fundamentals Of Blockchain

As a Web3.0 developer, you need to understand what the Blockchain is, how it works and why it might disrupt the way we exchange goods and make payments.
Blockchain technology is no more related only to crypto coins but it has become a truly distributed cloud computing system capable of running full Backends to power cutting edge Decentralized Applications (DApps).

Learn the fundamentals of the Blockchain on Coursera for Free with Blockchain 101.

Blockchain wrote on a white background.

3. What is a Decentralized Application?

When you’ll have learned about the blockchain, nodes, consensus, and all the main components of this technology, you’ll start to wonder:

“What kind of applications can I develop using the blockchain?”

The applications built on top of Blockchain are called Decentralized applications, or DApps, and have:

  • A standard Front-end built using JavaScript or frameworks/libraries like React, Vue, Svelte, and so on.
  • A Solidity/Solana/Rust backend, built on top of the blockchain.

Learn what is a Decentralized Application:

Check DApp Radar to see real-world examples of Defi (Decentralized Finance) and other Blockchain-based applications

To understand how the front-end and the backend of a DApp work together: communicating and exchanging data, you need to learn Front-end development and the basic principles of standard backend development, APIs, and patterns.

Decentralized application showing ethereum wallet

Decentralized application showing ethereum wallet

4. Learn Front End Development in 2021

As said Decentralized Applications have a standard vanilla JavaScript or JavaScript Framework Front-end, that’s why before delving into developing your first DApp, it’s key to learn the basics of Front-end development and how the web works.

Learn HTML, CSS, HTTP, JavaScript, pick a framework and start building static websites.

The Complete 2021 Front-end development Roadmap with 15+ Free resources to kickstart your journey and start monetizing your skills.

Javascript front-end books

5. Should I Learn Backend Development?

Yes and now.

Decentralized Applications backends vastly differ from “standard” applications backends, starting from the fact that Blockchain technology is used as the main source of decentralized data storage, whereas standard backends usually use Databases or Object Storages.

The majority of technical principles remain the same, though.

5.1 Learn Backend Development in 2021

Understand how front-end and backend exchange data.
Learn: Node, Express, DBs, HTTP, how to develop APIs, and start deploying cutting-edge applications.

2021 Roadmap to Backend Development with Free Resources.

backend developer drinking coffee in front of a laptop

backend developer drinking coffee in front of a laptop

6. Learn What is Ethereum and How it Works

A web3.0 developer needs to understand how Ethereum works.

Ethereum is software running on a network of computers that ensures the replication and processing of small programs called Smart Contracts.

Learn more about Ethereum in this video with Vitalik Buterin, one of the inventors of the Ethereum Blockchain talks about this technology.

If you want to explore further what Ethereum is, I hardly suggest you go and check the documentation and original Ethereum website.

Illustration with ethereum Prisma logo in open hands

7. Software on the Blockchain: Smart Contracts

Ethereum and Smart Contracts are like Bread and butter, you need to understand both.

A Smart Contract is software stored on a blockchain-based platform, that automatically executes an agreement.

It is written in Solidity, Rust, or Vyper (Solidity but in Python flavor).

Learn what Smart Contracts are, in this free Course Course by the University of Virginia.

Screenshot of the Remix IDE showing Smart Contract written in Solidity

8. Learn Solidity to Develop and Deploy Smart Contracts

Of course knowing what Smart Contracts are is not enough, as a Web3.0 or Blockchain Developer, you have to know how to write your own Smart Contracts. Here is when Solidity comes in help.

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

Unfortunately, as we were saying, the web lacks good resources to learn about Solidity and Blockchain Development.

Here are the best 2021 Solidity free courses I’ve found:

Solidity Logo

Solidity Logo

9. Learn Solidity by Creating Zombies

Turns out one of the best resources to learn about Solidity is a Gamified Programming course, where you’ll learn how to develop Smart Contracts while creating a Zombie factory to start your world domination plan.

Check out CryptoZombies, is completely Free.

Cryptozombies illustration with zombie dressed as a soldier

10. Connect your DApp Front-end: Learn Web3.js or Ethers.js

Now that you know how to create Smart Contracts, you need a way to connect your front-end with your local or remote Solidity (or similar) backend, using anything from HTTP to Websockets.

To do so you can choose between two JavaScript Libraries:

  • Web3.js
  • Ethers.js

10.1 Learn Web3.js

web3.js is a collection of libraries that allow you to connect with a local or remote Ethereum node using HTTPWebsockets, and other communication protocols directly from your JavaScript Based front-end.

Here’s the full web3.js crash course by DApp University.

Web3.js and ethereum logo on a black background

Web3.js and ethereum logo on a black background

10.2 Learn Ethers.js

Ethers.js is a lightweight JavaScript library used as an alternative to Web3.js to connect JavaScript front-end with Smart Contacts.

Learn Front-end DApp development with Ethers.js by Nader Dabit.

Logo of ethers.js a JavaScript web3 library with cloud on blue background and twitter handle @ricmoo

Logo of ethers.js a JavaScript web3 library with cloud on blue background and twitter handle @ricmoo

11. Develop your first Decentralized Application

Learning by practicing and solving problems is key, it’s literally the best way our brain has to retain information.

Start building your first DApps to reinforce your understanding of blockchain development.

Develop 5 DApps in this free course by freecodecamp.

Other DApps Project Inspirations

Finding project ideas to showcase in your blockchain developer portfolio, might not be that intuitive.

Let me share with you 6 projects ideas to practice your web3.0 knowledge.

12. Learn How to Test your Smart Contracts

Testing Your Blockchain Smart Contracts is Key.

What makes the Blockchain so special is the non-reversibility: once a Smart Contract is added, it can’t be edited or recalled, and its deployment also costs real money (GAS fees).

This is the reason why you should learn how to thoroughly test your smart contracts before deploying them.

Screen with unit tests

How do I Test my Decentralized Application?

There are 4 types of testing to test your Smart Contracts:

  • Node Testing.
  • Functional Testing.
  • Performance Testing.
  • API Testing.

Learn More about testing your Decentralized Applications and Smart Contracts, in this 1hr free introduction to Blockchain Tests.

13. Learn Truffle And Ganache

Speed Up Your Development With Truffle: a development environment, testing framework, and asset pipeline for any EVM Blockchain.

Truffle Logo

It comes with:

  • Built-in smart contract compilation
  • Scriptable migration framework
  • and more.

Ganache on the other side comes included in the Truffle suite and is used to Test Ethereum Contacts. It essentially creates a simulated blockchain with accounts to test your transactions and avoid setting up useless boilerplates to kickstart your DApp development.

Start exploring Truffle in this Tutorial for beginners.

Learn Ganache from the official Documentation.

Conclusions

Learning Web3.0 and blockchain development might sound daunting at first, but everyone can do it.

Learn step-by-step using starting from the fundamentals of Computer Science, to JavaScript, from solidity to cutting edge DeFi applications.

You won’t learn Blockchain Development in 1 week, but you can do it in 1 year of full commitment.

More content at plainenglish.io

Leave Comments

+84988168383
0988168383