Decentralized Applications
(dApp) Development

From token integration to frictionless UX design, LimeChain provides end-to-end dApp development services, powered by a relentless team of blockchain engineers, full-stack developers and UX designers.

What are Decentralized Applications - dApps?

DApps or decentralized applications, are open-source applications that are used to interact with smart contracts (ex. tokens) that run on a peer-to-peer network of servers. These applications can be based on a variety of blockchain platforms such as Ethereum, EOS, Hyperledger, Polkadot, and others.
Since dApps don’t rely on central servers, this vastly reduces the risk of failure, making them more reliable than traditional applications. By eliminating the middleman between users and service providers, dApps allow for greater freedom, openness and transparency but also reduce the risks associated with handling user data. 
Due to their nature, developing a dApp is a rigorous process that requires a lot of attention and care. Once a dApp (and the underlying smart contracts) is deployed, it is difficult to introduce fixes and major updates. For this reason, it is important that your dApp is developed professionally.
Are you new to dApps? See our What are dApps? Trends and challenges in dApp development guide for a brief overview of their function and purpose.
Wondering if a dApp is right for you? Here’s how your business could benefit from dApp development!

Benefits of dApp Development for
Your Business

Just like any traditional app, a dApp’s purpose is to offer a service to users and resolve a problem. But unlike traditional apps, dApps offer a variety of further benefits that set them apart:

hyperledger icon 7

AutomationDecentralized applications are powered by smart contracts – self-executing contracts written in code that provide automation. 
This can drastically reduce transaction costs and enable frictionless peer-to-peer transactions. It also reduces costs associated with employees, auditors, legal advisors, etc.

Transparency – DApp data is stored on a so-called public ledger that records everything in a secure and transparent way that guarantees that no one can manipulate it.  This creates openness and transparency, and eliminates the need for middlemen when it comes to connecting to your customers. 

 

Privacy – The use of a blockchain eliminates the need for users to create accounts. The dApp recognizes users using blockchain validated cryptography. This facilitates greater privacy and ease of use.

User-governance and autonomy – Due to their decentralized nature, dApps function on the basis of consensus by all users which guarantees that no one can dominate and act as a gatekeeper.
This includes consensus about the cryptographic algorithm that is used to show proof of value. Consensus is also required when any changes are made to the code of the dApp itself.

Open-sourceBeing open-source, dApps’ code is open for review. This allows the whole ecosystem to be more flexible, to progress faster and to be developed more securely because more input can be provided.

 Fault-toleranceBecause dApps are decentralized, rather than based on standard client/server networks, no single node controls all the transactions or records. In other words, there is no single point of failure that can crash or sabotage the whole app. 
As a result, dApps are both more stable and safer than traditional apps, do not need downtime and provide constant access.

IncentivizationDApps have an incentivization structure in the form of tokens or digital assets. Tokens are used to incentivize validators of the blockchain or as “bug bounties”. 
This benefits both the developer community as well as users, and guarantees greater engagement and interest in the dApp.

Working on the next big thing?

You have the great vision, we have the skills to bring it to life. Let’s build something great together!

The dApp Development Process

Developing a dApp passes through several steps which ensure full coherence between the initial business use case and the final product. LimeChain can use the following languages, frameworks, and blockchain protocols when developing a dApp:

Programming languages: JavaScript, TypeScript, Go, Solidity, Node.js
Frameworks: Angular, React, React-Native, Ionic
Blockchain Protocols: Ethereum, EOS, Hyperledger, Celo, Polkadot

The dApp development process goes through the following phases:

1. Business & technical analysis

The fist step involves an analysis of the business use case of the dApp. This includes gaining a detailed understanding of the purpose of the app, and how it will solve the problem it will be designed for.
Once the root cause on a business level has been clarified, a technical analysis is conducted to delineate how blockchain can help resolve the problem, and what platform should be used for the purpose.
If you are already clear on how you wish the dApp to be developed, this stage will analyze your plan to determine if there are any improvements or changes that need to be made.

2. Architecture design

When the use case has been clarified, an initial design of the dApp architecture is performed. The purpose of this design is to create a proof of concept (POC), and demonstrate how all of the parts of the dApp will fit together.
The architectural design also includes a plan on how the frontend layer, the user interface, and the backend layer – smart contracts, storage, and blockchain – will interact with each other.

3. Low and high-fidelity designs

After the architecture of the dApp has been agreed upon, both low and high-fidelity design prototypes are created. Fidelity design includes elements such as visual design, content and interactivity.
The initial low-fidelity design is used to further clarify and shape how the app will look and work. After clarifying these aspects of the app, a high-fidelity design is created that results in a clickable prototype.

4. Development of smart contracts / wallets

The next step involves the creation of smart contracts which will connect the dApp to the blockchain and execute the business logic and functionality of the app.
Wallets are also developed at this stage to enable the exchange of tokens within the dApp.

5. Backend / frontend development

At this stage, the fidelity designs are moved to the development stage and the frontend and backend are finalized.
The frontend can be created in any programming language that can make API calls to the backend.

6. Internal audit

An internal is conducted to review the previous development steps and establish if all requirements and specifications have been met.
During the audit, tests are also conducted to check how the various parts of the dApp work together.

7. Test net deployment

After the audit is completed, and any possible issues have been identified and removed, the dApp is deployed in a test net.
The test net deployment allows developers and clients to test the dApp at no cost, and to evaluate if the dApp works as planned.

8. Main net deployment

The dApp is deployed on the main net on which it will function and becomes available to users. 

Types of dApps

There are three distinct types of dApps, usually called Type I, II, and III.

Type I dApps

These types of dApps have their blockchain. This includes Bitcoin, Litecoin, and other types of altcoins.

LimeChain services logo
LimeChain services logo

Type II dApps

These dApps use the blockchain of type I. They are protocols with tokens that guarantee their functioning. They may act as a layer on top of the blockchain that offers certain functionalities.

Type III dApps

Type III dApps use the protocol of type II, and also have tokens that are necessary for their functioning.

Smart contract development

dApp Development by
LimeChain

Since 2017, LimeChain has been developing dApps and smart contracts. During this time we have deployed over 10 dApps on the Ethereum main net.
LimeChain offers end-to-end dApp development, including smart contracts, frontend, backend, and design. Our dApp development process ensures that we are capable of abstracting the complexity of the blockchain and building a seamless user experience.
We have good knowledge of CI/CD and Cloud deployments of dApps. This includes on-prem, decentralized infrastructures (IPFS), and AWS and GCP cloud platforms.
In developing dApps we use or own tools EOSlime and Etherlime, as well as the Gnosis multisig wallet, and OpenZeppelin’s top industry grade contracts.

Are you looking to develop a dApp? Contact us to learn more about our dApp development process and capabilities, and to tell us about your business needs and requirements!