Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Core Components

The architectural foundation of Eidetica, implementing the Merkle-CRDT design principles through a carefully orchestrated set of interconnected components.

Component Overview

These components work together to provide Eidetica's unique combination of features: content-addressable storage, cryptographic authentication, conflict-free synchronization, and flexible data access patterns.

Architecture Layers

Entry: The fundamental data unit containing TreeNode and SubTreeNode structures - immutable, content-addressable, and cryptographically signed

Database: User-facing abstraction providing operations over trees of entries with independent history and authentication policies

Instance: The main database orchestration layer managing databases, authentication, and storage

Transaction: Transaction mechanism providing atomic operations across multiple stores

Data Access and Storage

Stores: User-facing typed data access patterns (DocStore, Table, YDoc) that provide application-friendly interfaces over subtree data

Backend: Pluggable storage abstraction supporting different persistence strategies

CRDT: Conflict-free data types enabling distributed merging and synchronization

Security and Synchronization

Authentication: Ed25519-based cryptographic system for signing and verification

Synchronization: Distributed sync protocols built on the Merkle-DAG foundation

Terminology Note

Eidetica uses a dual terminology system:

  • Internal structures: TreeNode/SubTreeNode refer to the actual Merkle-DAG data structures within entries
  • User abstractions: Database/Store refer to the high-level APIs and concepts users interact with

See Terminology for detailed guidelines on when to use each naming scheme.