This repository contains an example implementation of various CRDTs. It serves mainly academic purposes (the implementations are meant to be simple and easy to understand, not optimized). If you want help or want to actually use them on production please let me know ;)
List of CRDTs (implemented and to be implemented):
-
Convergent (state-based):
- Delta-based
- Grow-only Counter
- Increment/Decrement Counter
- Grow-only Set
- Add Wins Observed Remove Set
- Multi Value Register
- Grow-only Counter
- Increment/Decrement Counter
- Grow-only Set
- 2 Phase Set
- Add Wins Observed Removed Set
- Last Write Wins Register
- Bounded Counter
- Delta-based
-
Commutative (operation-based)
- Counter
- Observed Remove Set
- Linear Sequence (L-Seq)
- Replicated Growable Array (both naive and block-wise variant)