Files
huskies/crates/bft-json-crdt/src/lib.rs
T

22 lines
956 B
Rust
Raw Normal View History

2026-04-29 09:25:05 +00:00
//! BFT JSON CRDT library — a Byzantine Fault-Tolerant replicated JSON document
//! built on an RGA list CRDT, an LWW register CRDT, and a signed-op substrate.
//!
//! Each document is identified by an Ed25519 keypair. Operations are signed and
//! carry causal dependencies so that every node converges to the same value
//! regardless of message delivery order.
/// Debug helpers and the [`DebugView`] trait for rendering CRDT internals.
2026-04-04 21:33:27 +01:00
pub mod debug;
2026-04-29 09:25:05 +00:00
/// JSON CRDT public interface: core traits, types, and signed-op substrate.
2026-04-04 21:33:27 +01:00
pub mod json_crdt;
2026-04-29 09:25:05 +00:00
/// Ed25519 keypair utilities and primitive type aliases used throughout the crate.
2026-04-04 21:33:27 +01:00
pub mod keypair;
2026-04-29 09:25:05 +00:00
/// RGA-style list CRDT that can store any [`CrdtNode`] as its element type.
2026-04-04 21:33:27 +01:00
pub mod list_crdt;
2026-04-29 09:25:05 +00:00
/// Last-writer-wins (LWW) register CRDT for single-value fields.
2026-04-04 21:33:27 +01:00
pub mod lww_crdt;
2026-04-29 09:25:05 +00:00
/// Core operation types: [`Op`], [`PathSegment`], and hashing helpers.
2026-04-04 21:33:27 +01:00
pub mod op;
extern crate self as bft_json_crdt;