All Projects → orbitdb → Crdts

orbitdb / Crdts

Licence: mit
A library of Conflict-Free Replicated Data Types for JavaScript

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Crdts

Orbit Db
Peer-to-Peer Databases for the Decentralized Web
Stars: ✭ 6,381 (+4362.24%)
Mutual labels:  crdt, p2p, distributed
Distribyted
📂 ➡️ 📺 🎶 🎮 Torrent client with on-demand file downloading as a filesystem.
Stars: ✭ 791 (+453.15%)
Mutual labels:  p2p, distributed
Cabal Desktop
Desktop client for Cabal, the p2p/decentralized/local-first chat platform.
Stars: ✭ 632 (+341.96%)
Mutual labels:  p2p, distributed
Cachep2p
"More users = More capacity"
Stars: ✭ 855 (+497.9%)
Mutual labels:  p2p, distributed
Berty
Berty is a secure peer-to-peer messaging app that works with or without internet access, cellular data or trust in the network
Stars: ✭ 5,101 (+3467.13%)
Mutual labels:  crdt, p2p
Peer Pad
📝 Online editor providing collaborative editing in really real-time using CRDTs and IPFS.
Stars: ✭ 564 (+294.41%)
Mutual labels:  crdt, p2p
Fair Analytics
📊 An analytics server that doesn't undermine user's privacy
Stars: ✭ 755 (+427.97%)
Mutual labels:  p2p, distributed
Clutter
Fully distributed twitter built on holochain
Stars: ✭ 84 (-41.26%)
Mutual labels:  p2p, distributed
Js Dag Service
Library for storing and replicating hash-linked data over the IPFS network.
Stars: ✭ 81 (-43.36%)
Mutual labels:  p2p, distributed
Cause
An EDN-like CRDT (Causal Tree) for Clojure & ClojureScript that automatically tracks history and resolves conflicts.
Stars: ✭ 68 (-52.45%)
Mutual labels:  crdt, p2p
Awesome Decentralized
🕶 Awesome list of distributed, decentralized, p2p apps and tools 👍
Stars: ✭ 358 (+150.35%)
Mutual labels:  p2p, distributed
Dat Keyserver
a distributed PGP keyserver project based on the dat protocol
Stars: ✭ 89 (-37.76%)
Mutual labels:  p2p, distributed
Qtox
qTox is a chat, voice, video, and file transfer IM client using the encrypted peer-to-peer Tox protocol.
Stars: ✭ 3,843 (+2587.41%)
Mutual labels:  p2p, distributed
Js Ipfs
IPFS implementation in JavaScript
Stars: ✭ 6,129 (+4186.01%)
Mutual labels:  p2p, distributed
Yjs
Shared data types for building collaborative software
Stars: ✭ 5,894 (+4021.68%)
Mutual labels:  crdt, p2p
Fluidframework
Library for building distributed, real-time collaborative web applications
Stars: ✭ 3,592 (+2411.89%)
Mutual labels:  crdt, distributed
hyperhyperspace-core
A library to create p2p applications, using the browser as a full peer.
Stars: ✭ 112 (-21.68%)
Mutual labels:  p2p, crdt
Ipfs Log
Append-only log CRDT on IPFS
Stars: ✭ 269 (+88.11%)
Mutual labels:  crdt, p2p
Y Ipfs Connector
Y.js connector over IPFS
Stars: ✭ 49 (-65.73%)
Mutual labels:  crdt, p2p
Cpg
CloudI Process Groups
Stars: ✭ 87 (-39.16%)
Mutual labels:  data-structures, crdt

CRDTs

npm version CircleCI Gitter Matrix Discord

A library of Conflict-Free Replicated Data Types for JavaScript.

Work In Progress

This module provides a set of Conflict-Free Replicated Data Types for your JavaScript programs. All CRDTs in this library, except G-Counter, are currently operation-based.

CRDTs implemented in this module:

Install

This module uses npm and node.

To install, run:

$ npm install crdts

Usage

const GCounter = require('crdts').GCounter
const PNCounter = require('crdts').PNCounter
const GSet = require('crdts').GSet
const TwoPSet = require('crdts').TwoPSet
const ORSet = require('crdts').ORSet
const LWWSet = require('crdts').LWWSet

// Or:
const { GSet, ORSet, LWWSet } = require('crdts')

See the source code for each CRDT for the APIs and tests for usage examples.

Inheritance

           +-----------++-----------++----------++---------++------------++------------+
Data Type  |  OR-Set   ||  LWW-Set  ||  2P-Set  ||  G-Set  || G-Counter  || PN-Counter |
           +-----------++-----------++----------++---------++------------++------------+
Base Class |                    CmRDT-Set                  |             --            |
           |-----------------------------------------------+---------------------------+
CRDT Type  |                 Operation-Based               |        State-based        |
           +-----------------------------------------------+---------------------------+

CRDTs Research

To learn more about CRDTs, check out this research:

Contribute

If you think this could be better, please open an issue!

Please note that all interactions in @OrbitDB fall under our Code of Conduct.

License

MIT © 2017-2019 Haja Networks Oy

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].