A Rust Implementation of the Pure Operation-Based CRDT Framework, made for Building Collaborative Applications
This project is under active development. The API and features are subject to change as we refine the framework.
Moirai is a Rust-based implementation of the pure operation-based Conflict-free Replicated Data Types (CRDT) framework proposed by Baquero, Almeida, and Shoker (see their paper). Moirai provides a collection of ready-to-use CRDT implementations while remaining open to extension. You can leverage it to create new CRDTs with custom conflict-resolution policies. Rust's extensive compilation target support, including WebAssembly, makes Moirai an ideal choice for building collaborative web applications.
Moirai serves as a research platform for developing novel CRDTs tailored for Collaborative Model-Based Systems Engineering (MBSE) and for advancing techniques to enhance the scalability of the Pure Op framework. It features CRDT nesting and composition for building complex replicated data types, an extended query interface, a fuzzer tool for verification and performance testing, and exclusive CRDT implementations including a Pure Op-based Nested Multigraph.
src/: Implementation of the Pure Op frameworkcrdt/: A collection of CRDT implementations built with Moiraifuzz/: A fuzzer tool to verify the correctness and performance of implementationsmacros/: Specialized Rust macros for specific CRDTsprotocol/: Implementation of the Pure Op framework's replication protocolutils/: Programming helper modules
documentation/: An (unordered) collection of development notes about the frameworktests/: Integration testsbench-results/: Contains execution reports from the fuzzer tool
Moirai has been used in the following research:
- Léo Olivier, Kirollos Morcos, Marcos Didonet del Fabro, Sebastien Gerard.
A Local-First Collaborative Modeling Approach with Replicated Data Types.
CoPaMo'25 - International Workshop on Collaborative and Participatory Modeling, October 2025, Grand Rapids, United States.
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
Developed at CEA LIST, the French Alternative Energies and Atomic Energy Commission.
Authors:
- Léo Olivier (@leo-olivier)
- Kirollos Morcos (@KirollosMorcos)
Made with ❤️ by the CEA LIST team