Skip to content

Instantly share code, notes, and snippets.

@haadcode
Last active April 1, 2018 01:52
Show Gist options
  • Save haadcode/7985695b8a4d7364654e12b0812892aa to your computer and use it in GitHub Desktop.
Save haadcode/7985695b8a4d7364654e12b0812892aa to your computer and use it in GitHub Desktop.

Dynamic content in distributed applications

30mins

Description

At the heart of every application is a database. In the decentralized web, the peer-to-peer paradigm doesn't use servers, so how can we develop compelling applications and user experiences? This talk will demonstrate orbit-db, a distributed peer-to-peer database built on IPFS. We'll show how we can create traditional data models, such as a key-value store, in a distributed fashion and create applications without servers. We'll cover the underlying data structures and transport mechanisms provided by IPFS, take a look at CRDTs (Conflict-free Replicated Data Types) and show how they can be leveraged to create different types of databases. Using IPFS and orbit-db, we'll show examples of how to build news feeds, real-time chat and comment systems in distributed applications that can run purely in the browser.

Additional resources

orbit-db

orbit-db is a distributed, peer-to-peer database built on IPFS. By saving all data in IPFS and using CRDTs, orbit-db allows developers to create distributed shared state and data structures for compelling decentralized applications. Current database implementations include a Key-Value Store, an append-only log and counters among others.

orbit-db on Github: https://github.com/haadcode/orbit-db

Screenshot

Demos

Real-time visualization showing how orbit-db works: https://github.com/haadcode/proto2

Orbit, a chat application built using orbit-db and IPFS: https://github.com/haadcode/orbit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment