Become a Blockchain Developer

Skills you need for DApp development

Patric
5 min readJan 21, 2022

--

Developing applications that will give people independence and open up new opportunities is a very nice thing. A big bonus will be a high salary as a blockchain developer. On average, a blockchain developer in the USA gets a salary of $144k a year.

Freelance blockchain developers earn on average $81–100 per hour worldwide. Junior blockchain developers earn on average $61–80 that's a pretty nice start!

When I got started I had a completely wrong vision of what is needed to develop DApps. I thought I need to know all about the inner workings of Ethereum like Merkle Trees, etc. Here is my recap of what skills you need for developing DApps.

After I had some hands-on practice, I realized that my thoughts on what's needed for DApp development were wrong.

You will surely benefit from in-depth knowledge about Ethereum, but for DApp development it's not necessary and you can get along well if you know the basics. It's comparable to an angular developer who knows the basics about the inner workings of Javascript, you can develop complex features but if you want to become a true senior you need in-depth knowledge of javascript.

So what's needed for DApp development?

As said you don't necessarily need in-depth knowledge about Ethereum and Blockchain, but you should know what a decentralized network is and what transactions are. Here are two excellent videos that are very easy to understand.

You need good knowledge about one Frontend Framework for example React, Angular, Vue, etc. If you are a React developer you can benefit from a lot of npm packages and tutorials on medium and youtube. I had a hard time as an Angular Dev, I try to provide help for other Angular Devs with Github Repos and Tutorials. As Angular Dev this Repository might be a good starting point:

You need knowledge about Solidity the language for writing Smart Contracts the backbones of DApps. You can find some very good tutorials on Youtube and the official docs are also very helpful.

This Solidity Tutorial uses Python for testing, CLI commands, etc. but if you are not afraid to get in touch with Python this tutorial is very engaging, excellent for total beginners, and advanced Solidity Devs and takes a deep dive into how to write Smart Contracts for several contexts.

You need to learn how to use a Wallet to sign transactions, process payments, etc. An easy-to-use one is Metamask.

You need to learn the basics of Web3 or Ethers. These are npm modules that can handle the communication between your Frontend and the Blockchain (Ethereum, Polygon, Binance Smart Chain, etc.). I have a favor for Ethers because the docs have many examples.

You need to learn how to use a tool like truffle or hardhat. They give you a CLI tool that can initialize the project structure for Smart Contract development and you can easily test, compile and deploy your Smart Contracts with them.

If you wanna work with big text data, images, or videos you could take a look at IPFS a decentralized way to read and store assets.

And last but not least you need to decide which EVM compatible Blockchain you want to use.

If you use truffle or hardhat it's just a configuration where your Smart Contracts get deployed to and where your Transactions will be processed. Ethereum is the first choice for most, but the Gas Fees are the most time crazy high. You need to pay a Gas Fee for everything that generates a transaction on the Blockchain.

You can check the actual Gas Fees here:

There are other EVM compatible Blockchains like those linked above. A good choice could be Polygon it's an Ethereum Sidechain and the Gas Fees are very low, also it can process a lot more transactions in time.

Also, a prominent choice is Binance Smart Chain, the only concern I have about this Chain is that it is not really a decentralized Blockchain, because there are only 21 validators and most are owned by Binance so there is the possibility of censorship.

I wish you happiness and success on your way! I think it would be wonderful if many more would jump on this learning path. Achieve a higher income for themselves and work on applications that open up independence and more freedom for many people.

--

--

Patric

Loving web development and learning something new. Always curious about new tools and ideas.