Home

Awesome

Welcome to OrbitDB!

Matrix

☄️💫 The OrbitDB community and documentation repo

orbit-db is a serverless, distributed, peer-to-peer database. orbit-db uses IPFS as its data storage and IPFS Pubsub to automatically sync databases with peers. It's an eventually consistent database that uses CRDTs for conflict-free database merges making orbit-db an excellent choice for offline-first applications.

This organization is a place to bring together all of the Orbit repositories, and to work together on making orbit better. This repo is the center of that organization.

Table of Contents

<!-- START doctoc generated TOC please keep comment here to allow auto update --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> <!-- END doctoc generated TOC please keep comment here to allow auto update -->

Calls

We sometimes have community calls. At the moment, these are in abeyance. However, if you feel that it would be good to have a call with the OrbitDB community, simply open an issue and ask if others would like to join in.

We do not record these calls, as we want people to feel comfortable joining in and talking without worrying about being recorded. Old notes for meetings are in meeting-notes.

Repositories

The @orbitdb organization on GitHub contains many different repositories. For the most part, these fall into three categories: code which relates to OrbitDB, the peer to peer database for the decentralized web; Orbit Chat, a decentralized chat program built using OrbitDB; and various non-code repositories.

OrbitDB Dependency Graph

Code-free repositories

OrbitDB

OrbitDB is a peer-to-peer database for the decentralized web (to put it succinctly). The most important repositories are:

There's also at least one workshop you can try out:

And then, there are a whole host of modules. It should be noted that all of these are JavaScript modules on npm.

Orbit Chat

And then there is the Orbit Chat, which is a chat program built on top of OrbitDB. These will most likely be renamed at some point to stop the confusion. The most important repository is:

Other repositories include:

Multilingual Implementations

There has been a recent explosion of awesome, ambitions, community-driven work towards interoperability with other languages. First came the orbit-db-http-api, followed by py-orbit-db-http-client, and go-orbit-db.

These repos started as community efforts and were brought into the organization soon after. However, search GitHub - there's a lot more.

The best place to find out what is available is likely by asking in the Gitter. If you know of any other repos that ought to be included in this section, point them out to us!

Other repositories?

There are other repositories that aren't in the organization around the web which are important - for instance, of course, ipfs. For now, these are the main ones in the @orbitdb organization.

If there is something missing form this list, please let us know! Either open a PR or an issue, and we'll add it. Thank you.

Naming

Why "OrbitDB"? Because it was available on GitHub, and it matches orbitdb. Why "Orbit"? Because that is the name of the chat app built on top of orbit-db. Why was that called "Orbit"? You'll have to ask @haadcode, but it's probably something to do with the InterPlanetary File System (IPFS).

There are variants of the name. For now, the canonical versions are: OrbitDB for the general project, orbit-db for the codebase at orbitdb/orbit-db, @orbitdb for the organization, and Orbit Chat for what used to be called just Orbit.

Registries

We maintain OrbitDB accounts on these registries:

Contribute

Please contribute! Dive into the issues!

Check out our contributing document for more information on how we work, and about contributing in general. Please be aware that all interactions related to OrbitDB are subject to the OrbitDB Code of Conduct.

Small note: If editing the README, please conform to the standard-readme specification.

This repository is maintained by @RichardLitt. If you've got any questions for him, feel free to open an issue or a pull request, or to email him privately. we're always looking for more maintainers!

License

This repository is only for documents. All of these are licensed under the CC-BY-SA 3.0 license © 2016-2018 Protocol Labs Inc., Haja Networks Oy. Any code is under a MIT © 2016-2018 Protocol Labs Inc., Haja Networks Oy.