orbit-db - Peer-to-Peer Databases for the Decentralized Web

  •        424

OrbitDB is a serverless, distributed, peer-to-peer database. OrbitDB 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 OrbitDB an excellent choice for decentralized apps (dApps), blockchain applications and offline-first web applications.

OrbitDB provides various types of databases for different data models and use cases:

  • log: an immutable (append-only) log with traversable history. Useful for "latest N" use cases or as a message queue.
  • feed: a mutable log with traversable history. Entries can be added and removed. Useful for "shopping cart" type of use cases, or for example as a feed of blog posts or "tweets".
  • keyvalue: a key-value database just like your favourite key-value database.
  • docs: a document database to which JSON documents can be stored and indexed by a specified key. Useful for building search indices or version controlling documents and data.
  • counter: Useful for counting events separate from log/feed data.

https://github.com/orbitdb/orbit-db

Tags
Implementation
License
Platform

   




Related Projects

orbit - A distributed, serverless, peer-to-peer chat application on IPFS

  •    

A distributed, serverless, peer-to-peer chat application on IPFS. Status: Hold. Work on Orbit Chat is largely in other repositories, at the moment. This may change in the future.

peer-pad - 📝 Online editor providing collaborative editing in really real-time using CRDTs and IPFS

  •    Javascript

PeerPad is a decentralized editor that allows concurrent writing of text. Besides making live changes to a given document, it allows read-only nodes to follow the changes in real-time. It also allows you to publish a self-contained snapshot of the document to IPFS. Clone the repo and install the dependencies from npm.

YaCy - Decentralized Web Search

  •    Java

YaCy (read "ya see") is a free distributed search engine, built on principles of peer-to-peer (P2P) networks. It is distributed on several hundred computers so-called YaCy-peers. Each YaCy-peer independently crawls through the Internet, analyzes and indexes found web pages, and stores indexing results in a common database which is shared with other YaCy-peers using principles of P2P networks.

GUN - A realtime, decentralized, offline-first, graph database engine

  •    Javascript

GUN is a realtime, distributed, offline-first, graph database engine. Lightweight and powerful. GUN does state synchronization out of the box. It is peer-to-peer by design, meaning you have no centralized database server to maintain. It has offline support, works even without internet. Users can save data offline and when when the network comes back online GUN will automatically synchronize the data.

ipfs - Peer-to-peer hypermedia protocol

  •    

A peer-to-peer hypermedia protocol to make the web faster, safer, and more open.IPFS (the InterPlanetary File System) is a new hypermedia distribution protocol, addressed by content and identities. IPFS enables the creation of completely distributed applications. It aims to make the web faster, safer, and more open.


Radicle - A peer-to-peer stack for code collaboration

  •    Haskell

Radicle is a peer-to-peer stack for code collaboration. The Radicle stack builds on IPFS, and works without a centralized server. No hassle with setting up your own hosting, and no need to trust companies with your data. It contains a git repository, plus the associated issues and proposals. Access all the issues and proposals associated with your codebase right from your terminal.

Yjs - Modular building blocks for building collaborative applications like Google Docs and Figma

  •    Javascript

Yjs is a modular building blocks for building collaborative applications like Google Docs and Figma. Yjs is a high-performance CRDT for building collaborative applications that sync automatically. It exposes its internal CRDT model as shared data types that can be manipulated concurrently. Shared types are similar to common data types like Map and Array. They can be manipulated, fire events when changes happen, and automatically merge without merge conflicts.

ipfs-companion - Browser extension that simplifies access to IPFS resources on the web

  •    Javascript

IPFS Companion harnesses the power of your locally running IPFS node (either through the IPFS Desktop app or the command-line daemon) directly inside your favorite Chromium-based or Firefox browser, enabling support for ipfs:// addresses, automatic IPFS gateway loading of websites and file paths, easy IPFS file import and sharing, and more. IPFS is a peer-to-peer hypermedia protocol designed to make the web faster, safer, more resilient, and more open. It enables the creation and dissemination of completely distributed sites and applications that don’t rely on centralized hosting and stay true to the original vision of an open, flat web. Visit the IPFS Project website to learn more.

lbry-sdk - The LBRY SDK for building decentralized, censorship resistant, monetized, digital content apps

  •    Python

LBRY is a decentralized peer-to-peer protocol for publishing and accessing digital content. It utilizes the LBRY blockchain as a global namespace and database of digital content. Blockchain entries contain searchable content metadata, identities, rights and access rules. LBRY also provides a data network that consists of peers (seeders) uploading and downloading data from other peers, possibly in exchange for payments, as well as a distributed hash table used by peers to discover other peers. Our releases page contains pre-built binaries of the latest release, pre-releases, and past releases for macOS, Debian-based Linux, and Windows. Automated travis builds are also available for testing.

ipfspics-server - Content-addressable, peer-to-peer method of storing and sharing images on the internet

  •    PHP

ipfs.pics is a open-source and distributed image hosting website. It aims to be an alternative to non-libre image hosting websites such as imgur, flickr and others. It is based on IPFS - the InterPlanetary File System. The whole application runs on the concept of peer to peer connections, which means that instead of hosting the information in a single location, our servers, the data is stored by everyone who wants to. When a picture is put on IPFS, it is given a hash, a 46 characters long digital fingerprint. No other file will have it and if the same file is added twice then their hashes will be exactly the same, which means the picture can still be found on the network simply by knowing the hash, even if our website is down. You can find the hash at the end of a picture URL, just like below.

Peergos - A decentralised, secure file storage and social network

  •    Java

Peergos is a peer-to-peer encrypted filesystem with secure sharing of files designed to be resistant to surveillance of data content or friendship graphs. It will have a secure email replacement, with some interoperability with email. There will also be a totally private and secure social network, where users are in control of who sees what (executed cryptographically). The name Peergos comes from the Greek word Πύργος (Pyrgos), which means stronghold or tower, but phonetically spelt with the nice connection to being peer-to-peer. Pronuniation: peer-goss (as in gossip).

SocialVPN - P2P VPN that connects you to your friends computer

  •    C

SocialVPN is an open-source IPOP-based virtual network that connects your computers privately to your friends’ computers. It automatically maps online social network relationships using Jingle and XMPP to create your own user-defined peer-to-peer VPNs – with no hassle, and supporting unmodified TCP/IP applications.

teletype-crdt - String-wise sequence CRDT powering peer-to-peer collaborative editing in Teletype for Atom

  •    Javascript

The string-wise sequence CRDT powering peer-to-peer collaborative editing in Teletype for Atom.

TomP2P - A P2P-based high performance key-value pair storage library

  •    Java

TomP2P is a P2P library and a distributed hash table (DHT) implementation which provides a decentralized key-value infrastructure for distributed applications. Each peer has a table that can be configured either to be disk-based or memory-based to store its values. TomP2P stores key-value pairs in a distributed manner. To find the peers to store the data in the distributed hash table, TomP2P uses an iterative routing to find the closest peers. Since TomP2P uses non-blocking communication, a future object is required to keep track of future results. This key concept is used for all the communication (iterative routing and DHT operations, such as storing a value on multiple peers) in TomP2P and it is also exposed in the API. Thus, an operation such as get or put will return immediately and the user can either block the operation to wait for the completion or add a listener that gets notified when the operation completes.

kad - peer-to-peer application framework implementing the kademlia distributed hash table for node

  •    Javascript

Peer-to-peer application framework implementing the Kademlia distributed hash table for Node.js and the browser.Install kad as a dependency of your package using NPM.

Gridcoin - Cryptocurrency, Rewards Volunteer Distributed Computing

  •    C++

Gridcoin is a POS-based cryptocurrency that rewards users for participating on the BOINC network. Gridcoin uses peer-to-peer technology to operate with no central authority: managing transactions, issuing money and contributing to scientific research are carried out collectively by the network.

gitchain - Decentralized, peer-to-peer Git repositories aka "Git meets Bitcoin"

  •    Go

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Gitchain is an application of ideas behind Bitcoin, Namecoin and DHT applied to Git hosting. Once you install it, it acts as a local proxy to the entire Gitchain P2P network.

cryptosphere - Encrypted peer-to-peer web application platform for decentralized, privacy-preserving applications

  •    Ruby

The Cryptosphere is a global peer-to-peer cryptosystem for publishing and securely distributing content pseudonymously with no central point of failure. The system is openly federated and anyone can join. To ensure quality service and prevent abuse, the Cryptosphere uses an integrated cryptographically secure reputation system which provides a distributed web of trust. There are several systems with similar goals to the Cryptosphere, such as MNet, Freenet, and Tahoe-LAFS. These systems serve as inspiration for the Cryptosphere's design. The Cryptosphere is also heavily influenced by Git, the distributed version control system.

beaker - An experimental peer-to-peer Web browser

  •    Javascript

Beaker is an experimental peer-to-peer Web browser. It adds new APIs for building hostless applications while remaining compatible with the rest of the Web. Visit the website. Please feel free to open usability issues. Join us at #beakerbrowser on Freenode.

ssb-db - A database of unforgeable append-only feeds, optimized for efficient replication for peer to peer protocols

  •    Javascript

A database of unforgeable append-only feeds, optimized for efficient replication for peer to peer protocols. ssb-db provides tools for dealing with unforgeable append-only message feeds. You can create a feed, post messages to that feed, verify a feed created by someone else, stream messages to and from feeds, and more (see API).






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.