Become a Successful Web3 Developer in 2023

Thinking of creating Web3 dApps? Start here.

Aoun Rizvi
Web3 Magazine
5 min readFeb 1, 2023

--

Person coding
AI-generated on BlueWillow

There’s no doubt that Web3 has lost its fever recently, but if you trust in the technology, you know that retail interest will come back. Before that happens, you want to make sure you are ready with the right skills to help Web3 grow.

If you are already a software developer, especially have experience working on front-end applications then half of your work is already done. In this article, I will assume you are coming in with very little to no knowledge.

When it comes to developing dApps in Web3, you can divide the work into 2 main parts:

  • Front-End Application
  • Back-End Smart Contracts

A front-end application is a website, which acts as an interface where users can go and interact with your application. The front-end application interacts with your back-end smart contracts. The interaction of the 2 parts is what is primarily considered a dApp.

Building a Website

Building website using website builder
AI-generated on BlueWillow

Contrary to what others may suggest, I strongly suggest knowing how to create a front-end app is the correct first step. If you already have experience in creating websites, then you can skim over this section.

Front-End Frameworks

Framework
AI-generated on BlueWillow

I suggest picking a front-end framework that will help you write quality code, and hopefully reusable components which you can use many times in the future. Either create a generic react app, or I recommend using the NextJs framework.

If you would like to further move things to the next level, use TypeScript with the NextJs framework. TypeScript gives you strong type scripting on top of Javascript, another tool to help you write quality code.

Interacting with Smart Contracts

Smart Wallet
AI-generated on BlueWillow

Now we can talk about how your front-end application can communicate with your back-end smart contracts. MetaMask is a browser-based wallet that lets you communicate with your smart contracts on the blockchain.

There are other wallets in the market, though MetaMask is the most popular one. I suggest reading over the documentation and learning how to use it in your front-end app.

Blockchain: The Basics

I won’t go into too much detail about how the Blockchain works, that would be out of the scope of this article. However, I will go over the basics which will give you enough knowledge as a Web3 software developer.

What’s a Blockchain?

Blockchain, a chain of blocks
AI-generated on BlueWillow

You can think of a Blockchain as a distributed ledger or a database. This Blockchain is a network shared amongst many nodes or computers. Blockchains are the underlying technology used in cryptocurrency systems (e.g. Bitcoin). It is used for maintaining a decentralized and secure record of transactions.

What’s a smart contract?

Smart Contract
AI-generated on BlueWillow

What are smart contracts? A smart contract is an immutable code that runs on the Blockchain. Every smart contract deployed gets a unique address, which is used to refer to it.

Users can interact with smart contracts, usually via a website, and smart contracts can also interact with each other. Smart contracts in the Blockchain can also hold and manipulate information.

There is plenty of more information on the inter-webs about Blockchains and how exactly they work. What I’ve explained above is pretty much all you would need to care about as a Web3 software developer.

Writing Smart Contracts

Writing text, contract
AI-generated on Lexica

Writing smart contracts is probably the most difficult job for you as a Web3 software developer. This is because you need to get them right and get them right the first time. Once your smart contracts are deployed on the Blockchain, you can’t change them.

Solidity or Rust?

There are 2 main languages in which smart contracts are written:

  • Solidity
  • Rust

Solidity is by far the most popular preference for smart contract development. In this article, I will be only focusing on Solidity, I can cover Rust in another article.

Smart Contract IDEs

AI-generated on BlueWillow

Remix is a basic tool that lets you write and deploy smart contracts to the Blockchain. I strongly recommend that you either use Truffle or HardHat. These tools are pretty much the standard for smart contract development. I personally am a fan of HardHat for many reasons, primarily for its good support for testing.

Openzeppelin Helper Contracts

Openzeppelin provides a lot of templates for pretty much all kinds of smart contracts you would need to write. I strongly suggest beginner software developers follow their standards and use their helper smart contracts.

ERC Standards

Sample standards sheet of a time machine
AI-generated on BlueWillow

You also want to keep in mind the ERC standard. Ethereum is by far one of the most popular Blockchain in the industry. ERC smart contract standards are followed across the board. For example, if you want to create an NFT smart contract, follow the ERC-721 standard because that is what all the NFT marketplaces will be expecting you to use.

Upgradeable Smart Contracts

You’ve heard of upgradeable smart contracts? Yes, sort of. Smart contracts are immutable, but there are frameworks developed, primarily by Openzeppelin, which give you the ability to upgrade smart contracts. Since this can be a topic of its own, I won’t go into more detail about this here.

Test, test, test!

Person testing code
AI-generated on BlueWillow

Last but not least, do not forget to test your smart contracts. This step is usually overlooked but is by far one of the most important steps. You do not want to be in a situation where you find bugs in your smart contracts after you have launched your application.

Now is a very good time to gain Web3 skills. by the time the market turns around, you will be ready to pump our products quickly and reliably.

The main parts of creating a dApp are the back-end smart contracts that run on the Blockchain and the front-end website. This Website is the interface your users will use to interact with the smart contracts.

Consistency is key, keep at it! Enjoy learning the ins and outs of Web3 development, and have fun creating decentralized products!

--

--

Aoun Rizvi
Web3 Magazine

I am a software engineer. Have a passion for DevOps, recently found interest in Web3.