Skip to content

CEA-LIST/Moirai

Repository files navigation

Moirai

GitHub stars License Rust Version Build Status

A Rust Implementation of the Pure Operation-Based CRDT Framework, made for Building Collaborative Applications


⚠️ Work in Progress — In Development ⚠️

This project is under active development. The API and features are subject to change as we refine the framework.

Overview

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.

Project Organization

  • moirai-protocol: Implementation of the Pure Op framework's replication protocol.
  • moirai-crdt: A collection of CRDT implementations built with Moirai.
  • mirai-macros: Rust macros for specific CRDTs.
  • moirai-fuzz: A fuzzer tool to verify the correctness and performance of implementations.

Publications

Moirai has been used in the following research:

License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.


Acknowledgments

Developed at CEA LIST, the French Alternative Energies and Atomic Energy Commission.

Authors:


Equal laws the Moirai make,
Kings' and peasants' threads they take,
And one weapon cuts them all.

— Marquis de Racan

⬆ Back to Top

Made with ❤️ by the CEA LIST team

About

A Rust Implementation of the Pure Operation-Based CRDT Framework, made for Building Collaborative Applications

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors