Know Before You Go
Set Theory
Order Theory
Clocks
Papers
Foundations
Clocks
Applications
Clocks
Proof and Verification
Blogs
Skepticism
Videos
Playlists
Implementations
Libraries
- Java: CRDTs: "The following CRDTs are currently implemented: G-Counter - Grow only counter; PN-Counter - Increment/decrement counter; G-Set - Grow only set. Allows only adds; 2P-Set - Two Phase Set. Allows adds and removes but an item can be removed only once; OR-Set- Ovserved-Removed Set. Allows multiple adds and removes. Adds win in case of a conflict during merge."
- Rust: rust-crdt
Data Structures
- KSeq: A continuous sequence CRDT based on Logoot/LSEQ
- LSEQ: CRDT for sequences
- LSEQTree: A data structure for distributed arrays using the LSeq allocation strategy
- LSEQArray: aims to provide an implementation of a CRDT-based array using the allocation strategy LSEQ
- Automerge: A JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically
- Yjs: framework for offline-first p2p shared editing on structured data like text, richtext, json, or XML
- RON: Replicated Object Notation, a distributed live data format (implementations in C++, Elixir, Go, Haskell, Java, JavaScript, Rust)
- teletype-crdt: The string-wise sequence CRDT powering peer-to-peer collaborative editing in Teletype for Atom
- Peer CRDT: An extensible collection of operation-based CRDTs that are meant to work over a p2p network
- Distributed Data Structures in Coq
- Akka CRDT: An Eventually Consistent REST/JSON database using CRDTs, Akka Cluster and LevelDB
- Akka Distributed Data
- wurmloch-crdt: Experimental implementations of conflict-free replicated data types (CRDTs) for the JVM
Toy Implementations
Editors
Databases and Logs
Productivity
Projects and Organizations
SyncFree
More Lists
Tags:
library
language
concurrency
crdt
Last modified 26 April 2025