Skip to content


Getting Started with dApp Development

This section aims to give developers an idea on how to get started with development on Zilliqa.

We try to make this guide concise, but yet easy enough for a developer with no experience in blockchain development. As many applications developers are javascript developers, we will use javascript in code snippet examples. Zilliqa Research currently actively maintains an official SDK in Javascript zilliqa-js which we'll be using in our examples.

What are dApps?

Decentralised Apps ("dApps") are applications that interact with smart contracts on the blockchain. As Zilliqa blockchain is a decentralised network that is not hosted by a single entity, application that sits on the blockchain is decentralised.

An application can have a user-facing components ("client"), which could be a web application or mobile app. These applications can interact with smart contracts on the Zilliqa blockchain.


The entry to Zilliqa blockchain lies on the RPC interface. SDKs are not compulsory for you to interact with the blockchain, but they do make your life easier.

Saw the 0x1, 0x2 on the entities on the blockchain? Those are addresses.

Addresses are an identifier to an entity on the blockchain. An entity on the blockchain can be either a user or a contract.


Zilliqa currently supports two address formats.

  • ByStr20: 20 byte hexadecimal string (e.g. 0x573EC96638C8bB1c386394602E1460634F02aDdA)
  • bech32: A bech32 with a human-readable prefix of zil (e.g. zil12ulvje3ceza3cwrrj3szu9rqvd8s9tw69c978p)

The reason behind this design is to prevent confusion with Ethereum addresses. For more detailed explanation on the address, refer to this post