Skip to content

Welcome

ECHO, the Eventually Consistent Hierarchical Object store, is a peer-to-peer graph database for TypeScript.

  • Peers replicate data with CRDTs. There is no central authority: the data lives with the clients.
  • Peers connect to each other over WebRTC.
  • Several writers can change the same data at once, including structured objects and collaborative text.
  • A peer can write while offline. Its changes merge when it rejoins the network.

Data lives in spaces, and each unit of data is an object. Why ECHO? makes the case for this design.

  • Learn builds one app step by step, from Installation to Sharing a space:
    1. Install @dxos/client and create a client.
    2. Set up an identity with HALO.
    3. Create or join a space.
    4. Add, change and query objects.
  • Core concepts describe one idea each, for a reader who has finished Learn.
  • Guides cover a framework, such as React.
  • Reference covers one module per page, such as Filter.

Each concept page states what ECHO guarantees, and each claim cites an item in the ECHO spec.