Eidetica Documentation
Welcome to the official documentation for Eidetica - a decentralized database built on Merkle-CRDT principles with built-in peer-to-peer synchronization.
Key Features
- Decentralized Architecture: No central server required - peers connect directly
- Conflict-Free Replication: Automatic merge resolution using CRDT principles
- Content-Addressable Storage: Immutable, hash-identified data entries
- Real-time Synchronization: Background sync with configurable batching and timing
- Multiple Transport Protocols: HTTP and Iroh P2P with NAT traversal
- Authentication & Security: Ed25519 signatures for all operations
- Flexible Data Models: Support for documents, key-value, and structured data
Project Structure
Eidetica is organized as a Cargo workspace:
- Library (
crates/lib/): The core Eidetica library crate - CLI Binary (
crates/bin/): Command-line interface using the library - Examples (
examples/): Standalone applications demonstrating usage
Quick Links
Documentation Sections
- User Guide: Learn how to use the Eidetica library
- Getting Started: Set up your first Eidetica database
- Synchronization Guide: Enable peer-to-peer sync
- Internal Documentation: Understand the internal design and contribute
- Design Documents: Architectural documents used for development
Examples
- Chat Application - Complete multi-user chat with P2P sync
- Todo Application - Task management example