In this article, we’ll go over the essential info you need to start developing dApps. From the basic vocabulary, basic tools and frameworks to career paths, advice, and salaries - we’ll go over all the details hopefully setting you on a path to build your first dApp.
Let's start with the obvious questions and define some terms:
What Is Dapp Development?
DApp stands for "Decentralized Application." It's an application that runs on a decentralized computing system, typically on blockchain platforms. DApp development is the process of building these applications.
If you’re looking into the field of Dapp Development, you’ll need to be familiar with a number of key concepts and frameworks that will help you navigate the space.
We’ll outline the essential ones, in this article:
Decentralization: Unlike traditional applications that run on centralized servers, which is standard to the world of Web2, dApps aim to utilize decentralized networks of a blockchain to read and write information to the blockchain database.
Smart Contracts: At the heart of most DApps are smart contracts, which are self-executing contracts with the agreement directly written into lines of code. These contracts automatically execute actions when certain conditions are met. Smart contracts are immutable once deployed, which means they cannot be altered.
Blockchain Platforms and Protocols: There are various blockchain platforms and protocols on which DApps can be built. Ethereum being the most popular blockchain for development activity, others include Binance Smart Chain, Solana, Cardano, EOS, Tron, Polkadot, and many many more. See all the chains supported by Tatum here.
Consensus Mechanisms: For the decentralized network to agree on the validity of transactions, a consensus mechanism is needed. The most common are Proof of Work (PoW) and Proof of Stake (PoS).
IPFS: The InterPlanetary File System (IPFS) is a protocol and network designed to make the web faster, safer, and more open. It's often used in conjunction with DApps to store files in a decentralized way, rather than relying on a centralized server.
Tokenomics: Many DApps have their own native tokens, which can be used within the app for various purposes, such as incentivizing certain behaviors or facilitating transactions. The study and design of these token models are known as tokenomics.
Decentralized Governance: Many DApps have mechanisms for decentralized governance, where decisions about the app's future are made collectively by its users or stakeholders, rather than by a central authority.
Dapp Development Languages, Tools and Stack
You probably heard that to build on blockchain you need to learn an intricate set of programming languages used by protocols. Not necessarily.
If you’ve already mastered JavaScript, you’ll be able to reuse those skills in Web3 as most applications nowadays are built using Javascript blockchain SDKs that allow you to query any number of blockchains using JS methods.
There are of course low-level programming languages used by protocols, Solidity being the most commonly used language for writing smart contracts on Ethereum, but unless you’re directly creating smart contracts and need to interact with the chain directly, you’ll be able to skip most of that.
Like traditional apps, dApps have a frontend (what the user interacts with) and a backend (smart contracts on the blockchain). Only difference, part of the backend data is stored on a blockchain instead of a centralized server.
When building your blockchain application, you’ll need to also choose a blockchain development framework. A framework serves as the fundamental architecture or a collection of tools, libraries, and established methodologies that streamline the process of building software applications in an organized and efficient fashion.
Additionally, you’ll need to consider your entire Web3 development stack. From protocols to frameworks to SDKs - you want to ensure you plan those variables ahead of building your app as it will impact if you can scale it easily.
What Type of dApps Can You Develop?
Non-custodial dApps
Non-custodial dApps are fully decentralized, meaning that the user of the dApp owns the wallet and its private keys and can manage the assets on the network. Naturally, this places a lot of responsibility on the user directly - they lose the keys, they lose the access. It may also introduce vulnerabilities into the system on behalf of the user, if they store their keys insecurely or their devices are compromised, they may get their assets stolen.
Building these types of dApps requires careful consideration of the above and it will need to be reflected in the application UX. You can learn more about what it means in practice in this article on dApp development by Tatum’s CTO Samuel Sramko.
Custodial Apps
If you’re a Web2 app developer then this will be familiar. While custodial applications can still interact with blockchain technology, they are essentially centralized applications. The app owner retains ownership of the wallet and can access its assets and manage them. It operates on the logic of Web2. You can understand better why you’d want to build such an application in the same article on dApp development by Tatum’s CTO Samuel Sramko. The article also considers a third approach of a Hybrid Application that we won’t cover here.
Dapp Developer Career
Where do you start? Well first of all a Web3 course would be a great idea, but before you even begin, you need to consider which dApp development path you’ll want to take as each will require a slightly different set of skills and tools.
We’ll list the four most common Dapp Developer Careers:
Smart Contract Developer
Smart contract developers aren't just proficient in crafting contracts. Beyond the required fluency in Solidity, the programming language used by Ethereum, Polygon, and other chains, they need to be adept with tools like Remix or Hardhat. While picking up a programming language might be a piece of cake for some, navigating the intricate maze of blockchain principles and security is where the true test lies as errors in smart contracts can cause serious issues not only from a security point of view, but also scalability.
Protocol Developer
These developers are experts at crafting many intricate pieces of a blockchain protocol - its consensus, nodes, and need to ensure everything on the chain is in sync. They need to wear many hats, from mastering cryptography to engineering large-scale distributed systems. This is one of the toughest developer career paths in blockchain you could choose as arguably a weak foundation of the protocol will impact everything else that’s built atop.
Frontend Blockchain Developer
This is where the dApp meets the user. These developers need to be familiar with the FE stack and mobile platforms, and they're not just about pretty design too. They need to understand basic operations of blockchain nodes and how to extract data like wallet balances, transactions, and history, and how to transform it into a user-friendly interface.
Backend Blockchain Developer
This is the business logic and the database of dApp development. Backend blockchain developers need to be versed in working with CI/CD pipelines and data tools. Their main goal essentially is efficiently, that is, pulling data from the blockchain, analyzing it, and ensuring everything runs smoothly. Whether it's driving transactions within the dApp or fetching complex blockchain data.
What Is a Dapp Developer’s Salary?
So is it worth it? Short answer is - yes. According to the most recent data from Pantera Capital, a median Web3 developer salary in 2023 reached $128,000 USD, indicating a lucrative and growing field where increasingly more blockchain developers are needed. As the technology is more widely adopted, it’s likely that this demand will continue on the uptrend.
What’s more, the majority, as much as 98%, of blockchain developers, are also hired remotely, so if you’re not cut out for office work, this may just be the path for you.
Blockchain Developer Jobs
We recommend first taking a look at the Tatum Discord channel 🤝-jobs-and-network. This is our place for companies to share open vacancies and for developers looking for a gig to share their resumes.
Don’t hesitate to check the Tatum career page too. We’re always hiring new developers.
Blockchain Development Courses
There are many resources available online, but you’ll want to ensure that you’re learning a practical set of skills that will actually help you in your development career. If the courses are all theory, avoid them.
For this purpose at Tatum, we built a Web3 Academy in a mission to make sure that all developers are enabled to build Web3 applications as easily as possible.
Built by devs for devs. The Tatum Academy is a project by the Tatum community of Web3 developers. The courses are free and are designed to not take you more than 20 minutes to complete. Think about it again? In under 20 minutes, you’ll be able to interact with a blockchain, say Ethereum, and learn a meaningful skill that every dApp developer needs to have.
Best Blockchain Development Platform
If you’re stepping into blockchain development you’ll need a reliable partner. It’s an exciting new field, but also one with a lot of misguided information and inexperienced advice.
Naturally, Tatum being a platform operating in the space for over six years now we recommend that you consider our set of tools to build your applications, but don’t just take our word for it. A 170K developers have sign up to use our set of tools and their feedback also speaks to our ability to provide the tools they need to build.
In addition, you want a platform with an active community of developers building with their technology. You’ll find that community on our Discord channel.
Takeaway
DApp development can be challenging due to the nascent technology, changing standards, and unique security considerations, but it's an exciting field with the potential to reshape many aspects of the digital and economic landscape.
Subscribe to our channels to stay up to date, connect with Web3 devs, discuss projects, and ultimately build dApps that people want to use.