orbitdb / Crdts
Licence: mit
A library of Conflict-Free Replicated Data Types for JavaScript
Stars: ✭ 143
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
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
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
CRDTs
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:
- "A comprehensive study of Convergent and Commutative Replicated Data Types" paper
- CRDTs on Wikipedia
- IPFS's CRDT research group
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].