Skip to main content

Building Client-side Apps

As with any blockchain, building decentralized applications (dApps) is a significant part of how a developer can build on Polkadot.

As an application developer, you can compose your front-end apps in a few different ways. Because the relay chain and its parachains are all built using the Polkadot SDK. You can often use the same SDK to communicate with the relay chain, a parachain, or any other Substrate-based chain.

Substrate-based chains use an SS58 encoding for their address formats.

Please see the SS58 registry to see which chain corresponds to a given prefix, and which prefixes are available.

SDKS & Libraries

If one aims to develop a dApp (Decentralized App), the Polkadot ecosystem contains various SDKs to tap into the relay chain and parachains. There are several languages already supported - see the tooling page for a detailed overview of different SDKs and libraries that are available.

Frameworks & Toolkits

For front-end applications, several options exist for interfacing with Substrate-based chains (parachains, relay chains, etc.) and smart contracts. These will often interact with the RPC of a Substrate node:

Promise and RxJS APIs around Polkadot, Kusama, and other Substrate-based chains via RPC calls. It is dynamically generated based on what the Substrate runtime provides regarding metadata. Full documentation & examples available here.

Oracle Options

In the blockchain context, an oracle is a way to bring real-world data onto the blockchain so that it can be used by a decentralized application.

Oracles serve many purposes for application builder, as they allow for outside data (price feeds, the ability to make HTTP requests, etc) to enter the decentralized world.

Oracle solutions range from centralized and trusted to decentralized and game-theory based. On the centralized end of the spectrum, an oracle could be a single account that has the authority to dictate the real-world data on-chain. On the decentralized end, a complex game of "chicken" can be played among various staked actors who risk getting slashed if they don't submit the same data as everyone else.

Solutions such as Chainlink fit somewhere in the middle, where the amount of trust you put into the reporting oracles can be adjusted based on your preferences. A Chainlink Feed Pallet is available to allow smart contracts across smart contract-enabled parachains to access price reference data and is available as a Substrate oracle pallet.

When using an oracle in your application you should be aware of the benefits and risks that are baked into its specific model.

Decentralized Storage Options

Storage is an integral part of modern computer systems, and the same is true for distributed and decentralized systems like a blockchain. When interacting with the Polkadot ecosystem, it will be helpful if you familiarize yourself with the current Web3 approach towards decentralized storage.

DCS (Decentralized Cloud Storage)

The key attribute that characterizes centralized cloud storage is the location of data. In decentralized cloud storage, the key attribute becomes the data itself instead of the data's location. This can be viewed as the shift from the centralized location-centric storage approach to the decentralized content-centric approach.

IPFS is a peer-to-peer distributed file system that seeks to connect all computing devices with the same system of files, by utilizing features such as content-addressing, content-signing, and enhanced security methods through encryption. IPFS aims to address the current hurdles of the HTTP-based Internet.