Member-only story
OrbitDB: Deploying the Distributed IPFS Database in the Browser
OrbitDB breakdown and how to utilise it today to store decentralised app data

Prelude: the Distributed Web is moving full steam ahead
Distributed protocol development is moving fast and will only accelerate heading into 2019, a year looking to be very exciting for decentralisation in general. Databases are no exception in this evolving software movement, and as such will be the focus of this article.
Gone are the days of in-house protocol development. The open-source ecosystem and emerging decentralised economics are paving the way forward for a more collaborative effort in shaping the future of software. Because of this, we can get a taste of what is coming by deploying the latest open-sourced efforts today. OrbitDB is one such effort leading the way in distributed databases; a peer to peer database run on top of IPFS.
What makes OrbitDB impressive is when it is running on top of the IPFS Javascript implementation in the browser. Doing so allows us to replicate and manage databases on a per-user basis. We will explore more about what this actually means, as well as the use cases it offers.
What is OrbitDB
The OrbitDB Github page bills the package a peer-to-peer database for the decentralised web. To achieve this decentralised nature the database is run on top of IPFS, as mentioned above. But unlike a traditional centralised database, where data is stored in one central location, (and perhaps replicated or sharded to other centralised locations), an OrbitDB database is serverless, and is replicated to all peers that are using it. And because of IPFS’s hashing protocols that do not allow duplication of a piece of content, there is no central point for such a database.
The hash is the true source, which could exist on hundreds or thousands of nodes across the network. With this in mind, the high level features of the database are as follows:
- OrbitDB is compatible both server-side and in the browser.
- OrbitDB is serverless. It does not require a central holding server, however, it does require at least one IPFS node to be…