All Projects → archagon → Crdt Playground

archagon / Crdt Playground

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Crdt Playground

Yjs
Shared data types for building collaborative software
Stars: ✭ 5,894 (+2641.4%)
Mutual labels:  collaborative-editing, crdt, peer-to-peer
Cause
An EDN-like CRDT (Causal Tree) for Clojure & ClojureScript that automatically tracks history and resolves conflicts.
Stars: ✭ 68 (-68.37%)
Mutual labels:  collaborative-editing, crdt, distributed-systems
Rust Crdt
a collection of well-tested, serializable CRDTs for Rust
Stars: ✭ 747 (+247.44%)
Mutual labels:  crdt, distributed-systems
Lasp
Prototype implementation of Lasp in Erlang.
Stars: ✭ 876 (+307.44%)
Mutual labels:  crdt, distributed-systems
Syncthing Macos
Frugal and native macOS Syncthing application bundle
Stars: ✭ 1,096 (+409.77%)
Mutual labels:  sync, peer-to-peer
Seam3
Cloudkit based persistent store for Core Data
Stars: ✭ 207 (-3.72%)
Mutual labels:  cloudkit, sync
Seam
Seamless CloudKit Sync with CoreData
Stars: ✭ 659 (+206.51%)
Mutual labels:  cloudkit, sync
Librevault
Librevault - Peer-to-peer, decentralized and open source file sync.
Stars: ✭ 1,001 (+365.58%)
Mutual labels:  sync, peer-to-peer
Go2p
Simple to use but full configurable p2p framework
Stars: ✭ 80 (-62.79%)
Mutual labels:  peer-to-peer, distributed-systems
Gossip Python
Implementation of the gossip protocol
Stars: ✭ 100 (-53.49%)
Mutual labels:  peer-to-peer, distributed-systems
Cloudcore
Framework that enables syncing between iCloud (CloudKit) and Core Data
Stars: ✭ 146 (-32.09%)
Mutual labels:  cloudkit, sync
Orbit Db
Peer-to-Peer Databases for the Decentralized Web
Stars: ✭ 6,381 (+2867.91%)
Mutual labels:  crdt, peer-to-peer
Teletype Crdt
String-wise sequence CRDT powering peer-to-peer collaborative editing in Teletype for Atom.
Stars: ✭ 637 (+196.28%)
Mutual labels:  collaborative-editing, crdt
Tandem
Typing in Tandem. Decentralized, cross-editor, collaborative text-editing!
Stars: ✭ 678 (+215.35%)
Mutual labels:  collaborative-editing, peer-to-peer
Neutrino
Privacy-Preserving Bitcoin Light Client
Stars: ✭ 564 (+162.33%)
Mutual labels:  peer-to-peer, distributed-systems
Ron Cxx
RON2.1 C++ implementation
Stars: ✭ 33 (-84.65%)
Mutual labels:  sync, crdt
mute-structs
MUTE-structs is a Typescript library that provides an implementation of the LogootSplit CRDT algorithm.
Stars: ✭ 14 (-93.49%)
Mutual labels:  crdt, collaborative-editing
Arbore
Friend-to-friend filesharing app to save the world from dystopia
Stars: ✭ 270 (+25.58%)
Mutual labels:  peer-to-peer, distributed-systems
Crdt
CRDT Tutorial for Beginners (a digestible explanation with less math!)
Stars: ✭ 167 (-22.33%)
Mutual labels:  crdt, distributed-systems
Diztl
Share, discover & download files in your network 💥
Stars: ✭ 162 (-24.65%)
Mutual labels:  peer-to-peer, distributed-systems

This repository is a companion to the article "Data Laced with History: Causal Trees & Operational CRDTs", where I examine the fascinating new class of "operational" CRDTs in detail. Not a framework; for educational use only. Please don't use this in production unless you know what you're doing!

A generic implementation of Victor Grishchenko's Causal Tree CRDT, written in Swift. State-based (CvRDT) implementation. Features many tweaks, including a site identifier map, atom references, and priority atoms. Uses Lamport timestamps instead of "awareness".

Two pieces of companion software are included. The first is a macOS app that simulates device sync over a hypothetical network with any arbitrary topology and any number of partitions. The app is designed for testing the resiliency of a CRDT under difficult network conditions and includes editing support for text and vector graphics. The second is a very basic, CT-based text editor for iOS that works equally well online and offline, syncs documents over CloudKit, and supports real-time collaboration over CloudKit Sharing. No extra servers required! (Such is the glory of CRDTs.)

Performance is good: everything should be O(nlogn) or faster.

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].