The Digital Objects Network is a decentralized network that facilitates the
creation, execution, and exchange of Digital Objects. Digital Objects are fully
programmable state machines that are owned and operated by Internet users, and
that can be passed between mutually untrusting Internet users while maintaining their integrity and consistency, without relying on any central trusted authority.
Each directory has its own README with the details.
| Directory |
Role |
| services/dobjd/ |
The daemon. Owns all driver state; serves the REST/SSE API on :7717 and an embedded MCP server on :7718. Every client talks to it. |
| services/synchronizer/ |
Reads blobs from the chain, maintains the Merkle state, and serves grounding/membership queries. |
| services/relayer/ |
Wraps proof payloads as EIP-4844 blob transactions and submits them to Ethereum. |
| services/archiver/ |
Follows beacon blocks and archives blobs filtered by destination address, serving them over a beacon-compatible API. |
| Directory |
Role |
| interfaces/cli/ |
The dobj terminal CLI. A thin HTTP/SSE client of dobjd. |
| interfaces/gui/ |
React frontend, runnable in a browser or wrapped in a Tauri desktop shell. Talks to dobjd over HTTP/SSE. |
| interfaces/mcp/ |
MCP server library exposing the driver as tools to AI agents, plus the dobj-mcp-proxy stdio bridge. |
| Directory |
Role |
| libs/driver/ |
The core orchestration library. Owns ~/.dobj/ and runs actions end-to-end. |
| libs/sdk/ |
Rhai engine and two-phase loader/executor that compiles plugin scripts into pod2 modules. |
| libs/txlib/ |
Transaction state machine: event hash chain, grounding, and the TxFinalized predicate. |
| libs/payload/ |
Blob payload encoding and the plonky2 proof shrink wrapper. |
| libs/pexe/ |
The .pexe plugin archive format and its packaging CLI. |
| libs/pod2utils/ |
Macros and helpers for loading podlang modules. |
| libs/wire-types/ |
Dependency-light data types crossing process boundaries (HTTP/MCP/SSE/CLI). |
| libs/eth-clients/ |
Partial Ethereum Beacon client API used by the chain-side services. |
| libs/intro-pods/ |
Intro pods for proof-of-work gating (vdfpod, lt-eq-u256-pod). |
| Directory |
Role |
| examples/ |
Example plugin sources: craft-basics (the bundled crafting demo) and craft-rocket. |
| deploy/ |
Container images and Compose stack for running the synchronizer, relayer, and archiver. |
Built on pod2 (0xPARC's predicate-of-data
system) over plonky2: proofs are constant-size regardless of input count, and
the chain sees only opaque commitments.