joshorig

2 min read - Posted 06 Sep 18

What is a dApp?

dApp is the abbreviated term for decentralised application. A dApps main application logic and data storage runs on a decentralised and distributed peer-to-peer network (like Ethereum). dApps allow for direct interaction between users without the need for a central authority or intermediary.

dApps usually demonstrate the following characteristics:

  • Application logic on a decentralised distributed peer-to-peer network (basically a blockchain)
  • Autonomous operation once deployed
  • No central point of failure
  • Open source code

Ethereum dApps

In the Ethereum landscape a dApp is not required to store all of its data and application logic on the blockchain. Due to scalability and also end user cost, many dApps stick to using the blockchain for trusted state and executions, which anyone case access and review. Many also use other distributed data storage technologies like IPFS and Swarm to handle off chain data storage. There are also protocols being developed for trusted off chain executions such as Golem and TrueBit which would enable developers to run computationally intensive tasks which would be costly off chain in a secure manner.

In Ethereum a basic dApp consists of the following components:

  • EVM running on nodes in the Ethereum blockchain
  • Smart Contract(s) running on an Ethereum blockchain
  • Smart Contract ABI(s) (Application Binary Interface) which tell a client how to interact with a Smart Contract
  • Web3 library which implements the Ethereum EVMs RPC protocol, allowing a client written in its native language to invoke RPC calls
  • Front end client application, written in the same programming language as the web3 library, which allows a user to send transactions.

[ 3/4 interesting dAPPs] make sure they are legit or at least semi-legit

AirSwap (Decentralised exchanges)

Gnosis? Prediction market

SpankChain

Why dApps?

Example of Uber as a dAPP

So why have dApps not taken over the world yet?

Ethereum is new (3 years old at time of writing)

Scalability (Transactions per second)

Usability UX/UI

Given all of this as a developer, this is a great time to get involved before the rocket is launched!

DAPP development is in a nascent phase but the benefits that DAPPs provide (which traditional, centralized applications do not) suggest that we can expect to see impressive new functionalities and use-cases for blockchain technology in the near future.

Created with Sketch.Content is"CC-BY-SA 4.0" licensed
Article On-chain
0 Comments
Related Articles
What is Web 3.0?

Web 3.0 is what people are referring to as version 3 of the internet, the decentralized internet of the future. Version 1 of the web was the beginning. Websites were very simple with limited interactivity and the basic tools and protocols of the internet were first being developed. Later, websites started to be created with more interactive content such as web apps and social media websites, which changed the way we interact with each other around the globe forever. This marked the start of Web

Tools for dApp development

This article will introduce you to the relevant tools required for developing a simple dApp. We will introduce tools in the following areas: Smart Contract Programming Languages Web3 Libraries Development frameworks IDEs Development blockchains Ethereum Networks Wallets (Key Stores) SaaS / Cloud Infra Data Storage Smart Contract Programming Languages Because a smart contract is deployed on the blockchain in its bytecode form, any language that comes with an EVM compiler could be used to write a