So you want to build a Dapp

Jeffer1981
3 min readAug 6, 2021

This article is the first article in a series where I want to provide some guidance on how to start creating your own Dapp.

If you’re reading this article, I’m going to assume you’re interested in blockchain, cryptocurrencies and Dapps.

Dapps (or Decentralized apps) are basically apps that use blockchain technology. Some famous and successful examples:

  • Uniswap: the biggest (at least at the time of writing) decentralized cryptoexchange (or DEX)
  • Cryptokitties: the first example of NFT (non-fungible tokens).

What do you need to start out?

Let’s go over the basics.

A Dapp idea

First of all, like with any app, you need a good idea for the purpose of your Dapp. This is quite obvious, but with a Dapp, you need to ask yourself if building your app on a blockchain truly adds value to your application vs building it like a more traditional app.

Advantages of using a blockchain:

  • Trust & transparency: your smart contract and data can be viewed and audited by anyone. This is a plus for any application that requires trust and transparency. E.g. proof of ownership.
  • Security: a blockchain line Ethereum is so big and distributed, it is very unlikely your data will be lost or corrupted by an attack
  • Ownership: something in your wallet, stays in your wallet (as long as you’re not hacked of course). Some applications or games have players investing huge amounts for buying items/weapons/…, only to discover later on that the game creators can alter their precious items at will. Not so with blockchain.

Disadvantages of using a blockchain:

  • Speed: transactions on a blockchain are slow. This varies from which chain you choose.
  • Cost: transactions on a blockchain are expensive. Again, this varies chain by chain.
  • Ownership / oversight: for some applications having no central app authority can be a negative. E.g. social media without oversight can devolve with e.g fake news, child pornography,…

To summarize: only go for a dapp if using a blockchain adds value to your app, not because using a blockchain is trendy.

Choose your technology stack

Once you have a dapp idea, you need to choose on which technology stack you will develop the dapp.

To be brief, you will need to choose the tech for 3 layers:

  • Front End : the UI or User Interface
  • Back End
  • Blockchain

Each technology option will have it’s advantages and drawbacks. Going with popular platforms will offer you the benefit of being well, or at least more, documented and having bigger communities. New tech might give you unique features.

Example

A popular tech choice (and one I have taken myself) is:

All of the technologies above are well documented and have huge user communities.

Ethereum

Ethereum is, at the moment of writing, by far the most popular smart contract blockchain platform. Smart contracts on Ethereumare programmed in Ethereum’s language, Solidity.

One of the most important design decisions will be what to put on chain and what not.

E.g. remember that on chain functions are expensive. This is quite literal: you need to pay for each transaction on the blockchain (reading data is free). This cost rises with the amount of data in the transaction. That’s why e.g. images, video etc are seldom stored on the blockchain itself.

Choosing ethereum has the benefit that ethereum has very handy web3 libraries for integrating with e.g python and JavaScript.

Sample project

In my next articles we’ll run through a sample project: setting up a NFT creation website. We’ll run through:

  • creating a smart contract
  • creating a web interface

--

--

Jeffer1981

Project Manager for ERP software | Tech enthousiast in python, AI | Loves sports and martial arts | Living in Belgium