Decentralized Application (dApp) Development

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

dapp development

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 building dApp!

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:

The dApp Development Process

Developing a dApp goes through several steps to ensure that the final product serves the targeted use case. When developing dApps, LimeChain can use the following programming languages, frameworks, and blockchain protocols:

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

The dApps 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 identified, a technical analysis is conducted to map out how blockchain can help resolve the problem, and what platform should be used for the purpose. If you are already certain about how you wish the dApp to be developed, at this stage we’ll 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 determined, an initial design of the dApp architecture is conducted. 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 flesh out how the app will look and work. After fleshing out 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 audit is conducted to review the previous development stages 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 potential issues have been identified and resolved, 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.

Building dApps with 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 our 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!