How to develop a Decentralized Application and Run a Decentralized Startup (DS)!!!

Interested in how to make a DApps Decentralized application? Mahdad Kiyani is your guy. Check also our website:

Innovating in decentralized applications is not only a great way to make money but represents a new frontier in software development.


Decentralized Applications differ from conventional applications in that they don‘t rely on the conventional client-server network model. This model requires a central controlling authority to maintain the network and authorize any changes, etc.

The decentralized network model, on the other hand, uses a network of computers (known as nodes) that are all equal participants in maintaining the network. Since computation is performed at each node independently, all of which have a record of all the transactions, the network is able to offer a number of unique features that benefit applications.

Decentralized applications rely on the blockchain principle that was first outlined in a paper by Satoshi Nakamoto back in 2008. Nakamoto devised the concept of blockchain to overcome the duplication problem that prevented the implementation of a viable cryptocurrency. The digital currency he was to invent was Bitcoin, which was to go on to spark the blockchain revolution..


Blockchain is an exciting new technology that allows for blocks of data to be recorded and stored in a chain. As each new block is added, it creates an uninterrupted digital ledger. Due to each transaction requiring validation by the network, they cannot be approved without the agreement from at least 51% of the nodes.

Since each node on the network has a complete record of the ledger and computes every transaction independently, decentralized applications are tamper-proof and ultimately far more secure.


  1. Decentralized — No one controlling power
  2. Open Source — Code is available to everyone
  3. Incentive — Crypto tokens are used to reward network users/miners etc.
  4. Protocol / Algorithm — To generate tokens that reward network participants
  5. Blockchain — Data stored cryptographically in a blockchain


There are three types of DApps. These classifications are linked to how the DApps use blockchain.

  1. Type 1 DApps — Use own blockchain. Examples include Bitcoin.
  2. Type 2 DApps — Decentralized applications that use type 1 blockchain. They must issue tokens in order to reward participants in the network. Most smart contract-based apps that use Ethereum are this type.
  3. Type 3 DApps — Use Type 2 protocol to underwrite the tokens that they issue.


Currently, there are two ways in which DApps reward participation.

  1. Proof of Work

The proof of work model allows network participants to be rewarded based on the amount of work they have undertaken for the network. Mining is one example of how proof of work. Miners are rewarded in the form of tokens based on the number of transactions they have processed.

  1. Proof of Stake

With PoS a network participant is allowed to vote on anew block according to their stake in the network.


I have already mentioned briefly one of the main advantages of decentralized applications. Time and time again, industry professionals cite security as their primary concern when it comes to applications.

Unfortunately, the client/server model offers cyber hackers a single point at which to orchestrate attacks. This failure has resulted in massive data breaches that have not only cost huge sums of money but have also dented customer trust as well.

DDoS, SQL injection, XML attacks, phishing, and impersonation attacks are just some of the many types of security challenges conventional apps face. Decentralization prevents these kinds of attacks because there is no one point of failure.

ince every node in the network has a complete record of all transactions and are required to authorize any new transactions, a hacker would need to gain control of a majority of the nodes in the network to be able to make such a change.

Not only that, any alteration of data stored in a blockchain would require the hacker to alter the blocks around whatever block they wished to change in order that their activity is not detected.

These features are the reason why, to date, there has not been a single such successful attack on a blockchain network. The only realistic chance hackers have is in applying the massive computing power of a quantum computer to attempt to trick the hashing mechanism.


  • No one controlling entity
  • More secure than client/server networks
  • Secure record of the entire database
  • Requires the agreement of the entire network to alter written blocks
  • Cannot be shut down by single outage/attack
  • No downtime
  • Increased trust
  • Easy to facilitate payments


  • Slower transaction processing times
  • Blockchains become less efficient as they grow in size
  • Energy costs are higher


Decentralized app development has exploded in the past few years. Undoubtedly, the reason behind this is because of last year‘s cryptocurrency boom which helped thrust decentralized blockchain technology into the mainstream.

  1. Factom — A type 1 DApps that aims to validate digital assets.
  2. KYC-Chain — Type 2 DApps that aims to use know-your-customer (KYC) to simplify the process of identity confirmation.
  3. The SAFE Network — Type 3 DApps that offers decentralized data storage.


Alternatieve tekst toevoegen

When you decide to build a decentralized application, you should know that the process comes with its own unique challenges. Features such as decentralization and creating a smart contract require a unique developer skillset. It is for this reason that hiring the services of a developer who has experience in developing a decentralized blockchain app is a good idea.

For larger projects, it is definitely a good idea to outsource the project to a professional dev team so that they can do all the hard work for you. You may also need to think about hiring a company to help you handle your ICO.

Using an ICO to fund your Project

Step 1: Know your project

Before you do anything, it is really important that you understand your project from top to bottom. Not only will you need to understand the how your application intends to solve whatever problem it has been designed to, but you will need to also understand such things as why the application needs to be a decentralized app, how much it is going to cost, and whether or not there is a market for it in the first place?

Step 2: Create a whitepaper

Once you have a clear vision of what your app is, how it will function, and where it will be in 5 years, you can now begin the process of writing a great whitepaper to help investors understand your vision.

Step 3: Launch an Initial Coin Offering

ICOs are a great way to raise the funds that you will need to develop your project. Unlike IPO‘s, they don‘t require you to relinquish any control in the company through shares, etc. to raise the money you need.

Step 4: Start Building Your App

There are lots of approaches you can take in order to build a decentralized app. Some are a lot easier than others as they utilize the resources provided by organizations such as The Ethereum Project, etc.

Alternatieve tekst toevoegen

The majority of low scale decentralized apps now utilize Ethereum‘s smart contract service in some form or another. Since they already have a vast amount of resources that are already available for development use, Ethereum represents an excellent way to reduce the time and money needed in order to build a decentralized app.

What follows are the main steps and considerations vital to building a decentralized application.



You will need to determine exactly what technology you are going to use for these key areas of development:

  • Database
  • Frameworks
  • Hosting
  • Frontend
  • Frontend contracts
  • Contract‘s programing language
  • API‘s
  • Development server



This step will involve firstly installing the development framework.

Next, you will need to set up all the tools you will need for the front end development of your app. Try to always develop in a language your entire development team is familiar with. This might seem obvious but it is amazing just how many projects ignore this rule. For Ethereum, developers can use Solidity or Serpent.

If you intend to use Ethereum then Truffle is an excellent development platform.


If you are new to all this, and if this is the first time you build a decentralized app, then start by using Solidity, as it is the easiest language to use thanks to its similarity to JavaScript. Solidity is an excellent programming language for coding the smart contracts that your decentralized application will need.

Smart Contracts are a central part of creating decentralized applications that developers will need to know and have experience with. As I have already stated, creating smart contracts directly to the Ethereum blockchain is by far the easiest way to create your own small-scale decentralized app.

Keep in mind that blockchain transactions cost money. Known as “gas”, this is the money that goes to the miners who process transactions. In the case of Ethereum, gas will be charged in Ether.

The next step is to complete front-end development

Remember when you get around to designing your UI to keep it snappy and appealing to users. Functionality is key to a great UI, so make sure that it has all the features that a user might require, and that they are located in the places where they are most needed.

So, for example, if you are creating a decentralized identification system, then you should ensure that the relevant information is displayed in a way that makes it easier to interpret. There is nothing worse than not being able to find the information or buttons you need.


Before deploying your app to the blockchain, it is worth noting that any deployed smart contract code will be unalterable and forever stored on the blockchain. Though it is possible to ’overwrite‘ the old code by creating new blocks on the chain, you should always make sure your code is 100% before deploying.

You should always ensure that you only fully launch your DApp after it has been fully tested. For this reason, all apps should have a test window built into their development. Before you reach the testing stage, you should arrange a meeting with your development team where you discuss all the variables that you will need to test.

With a voting decentralized app, for example, these variables will include single vote tests as well as high volume voting in order to test the network processing speed, etc. You should also test to see how the app deals with repeat votes being cast by the same individual and attempts to alter the votes after they have been cast etc.


Once your app has been tested, you will be ready to launch it. Choose a custom domain for the application so that it looks professional and then let everyone know it is up and ready.

Keep in mind that this will be the most intensive part of your marketing strategy since your ICO launch as you will need to keep the buzz going about your project.

Though the hardest part is behind you, the success of your new DApp is by no means assured. For this reason, you should keep up the same level of hard work and diligence that help you to you create a great app in the first place.

Examples of simple decentralized apps deployed to the Ethereum platform:

Voting Ethereum DApp

Decentralized Casino Ethereum DApp

Auction Ethereum DApp


There are multiple blockchain development platforms to build DApps. However, Ethereum has a special place. Ethereum has attained this stature due to the following reasons:

1. The Ethereum network has already proven its mettle in various use cases

Many entrepreneurs and developers use the Ethereum blockchain platform to build DApps catering to different use cases. The following are just a few examples:


We know about the financial services and products offered by banks and financial services institutions. A financial services institution acts as a central authority while offering these products and services. It uses centralized servers to manage all its software systems.

Entrepreneurs have built DeFi (Decentralized Finance) apps to offer financial products and services using a decentralized model. Decentralized lending and decentralized prediction markets are a few examples of DeFi apps.

Entrepreneurs typically use the Ethereum blockchain platform to build DeFi apps. E.g., Uniswap, a company that has built the “Uniswap protocol” using the Ethereum platform. It’s a DeFi protocol.


A DAO (Decentralized Autonomous Organization) is a community of users without a centralized leader. People build DAOs using a decentralized blockchain.

Community members make decisions by voting. The community uses transparent rules to govern a DAO. It uses the decentralized peer-to-peer (P2P) network to ensure democratic decision-making.

DAOs often fund important blockchain development projects, and they make funding decisions by consensus. Many such communities create DAOs using the Ethereum blockchain platform. MakerDAO is an example.

The rules of such DAOs are codified in Ethereum smart contracts. These are open-source, therefore, anyone can view the source code. This fosters transparency.


A stablecoin is a cryptographic token that intends to maintain a stable price. Stablecoins typically peg their price to a real-world asset like USD, gold, etc.

Entrepreneurs often create stablecoins using the Ethereum blockchain platform. DAI is an example. MakerDAO has created DAI, and it’s based on the Ethereum network.


NFTs (Non-Fungible Tokens) are cryptographic tokens that are unique and indivisible. These attributes make them ideal to tokenize digital artworks and collectibles. NFTs are very popular at the current time.

Many entrepreneurs build NFTs using the Ethereum Virtual Machine (EVM) and smart contracts codes on Ethereum. An example is Axie Infinity, a popular monster game based on the Ethereum blockchain.

2. The rich ecosystem of Ethereum blockchain development tools and resources

You too can take advantage of the rich ecosystem of Ethereum blockchain application development tools and resources. Creating your own DApp can be complex. The tools and resources in the Ethereum ecosystem can help though. Consider the following examples:


You can code the front-end of an Ethereum DApp using common web development technologies like JavaScript, HTML, CSS, etc. Do you plan to access the DApp using Android or iOS devices? In whatever case, you must use established tools and frameworks for designing the mobile user interface.

However, DApps work by running smart contracts in the back-end. Ethereum developers code Smart contracts using Solidity, a proprietary programming language. It’s a powerful language with lots of useful features.


Remix” is an IDE (Integrated Development Environment) to code Ethereum smart contracts. It’s a DApp. Therefore, developers don’t need to download this IDE.


Ganache is an easy-to-use blockchain client. Programmers commonly use it for Ethereum DApp development. You can install and configure it easily.


Web3.js is a JavaScript-based Ethereum API. It’s user-friendly. You can install it using NPM (Node Package Manager), the popular tool.

Many software engineers use it for Ethereum DApp development. There’s a JSON interface for Web3.js too.


The Truffle framework is a popular suite of tools for Ethereum blockchain development. It helps to code and organize smart contracts. You can test and deploy smart contracts using it.


Ropsten is a test network (“testnet”) for Ethereum. Test your Ethereum smart contracts using Ropsten before deploying them on the main network (“mainnet”). You don’t need real Ether (ETH) for testing smart contracts, therefore, you can use dummy Ether.


MetaMask is a browser extension as well as a crypto wallet. Many developers use it for Ethereum DApp development. Take the example of testing smart contracts on Ropsten. You can use MetaMask to obtain ‘dummy’ Ethers rather than using real ones to undertake app testing.


You can find many Ethereum blockchain development tutorials. They cover a wide range of topics, e.g.:

  • Solidity;
  • How to install, configure, and initialize the different Ethereum development tools;
  • How to use IPFS (InterPlanetary File System) with Ethereum;
  • Coding smart contracts that are easy to debug.

You can also find overall Ethereum development tutorials on GitHub.




Involved in large and small projects at national and international level as developer, projectmanager and/or consultant.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Web3.0 Deep Dive with Gen Z in Singapore

Blockchain And Adaptive Learning | How Can Blockchain Technologies Be The Change Catalyst For…


AllianceBlock Private Sale CLOSED

Behind the Commits: Getting to Know Davis Haba

Decentralized Governance in Sovrin

Building a sustainable blockchain gaming ecosystem to entertain and create financial freedom.

The dual token economy: Explaining CENNZ and CPAY

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Mahdad Kiyani

Mahdad Kiyani

Involved in large and small projects at national and international level as developer, projectmanager and/or consultant.

More from Medium

Smart contract address creation method & difference between smart contract address and wallet…

How to build a decentralized website on the ETH-Blockchain!!!

Merkle Proofs and Merkle Trees in Blockchain — Explained