Chapter 3. Building Your First Dapp

Enough with the theory, let’s get to building. I’m going to assume that you have built at least one software application before. Building a dapp isn’t that much more difficult than building a regular app. The added complexity comes from having to think in a decentralized way and not having as many mature libraries at your disposal as a regular app developer does.

This chapter will take you through the process of building a decentralized Twitter clone from source. We’ll cover the following:

  • The Go language

  • Decentralized architecture and the IPFS distributed data store

  • Kerala, an IPFS interface

  • Coinprism, a colored coins wallet service

  • Mikro, a decentralized messaging app with an internal economy.


We’ll be using Go for our dapp. Go has garnered a lot of interest from backend developers for its simple callback-hell-free syntax, fast computational time, and concurrency friendly “go-routines.” Erlang and Rust are two others that claim to be superior to Go, and perhaps they are in some ways, but unlike Go, their libraries are in a very, very early stage of development.

JavaScript is also pretty popular these days, and with the advent of Node.js, JavaScript developers are no longer limited to frontend roles. They can create and maintain the entire web stack with one language (and, of course, HTML/CSS). JavaScript is the language of the Web and JavaScript developers can use a wide variety of JavaScript frameworks to build their web apps. ...

Get Decentralized Applications now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.