Skip to content

txpipe/dolos

Dolos Logo

A Cardano Data Node

License: Apache-2.0 CI Status Crates.io Documentation



Tip

Looking for detailed guides and tutorials? The complete user guide for Dolos is available at docs.txpipe.io/dolos.

What is Dolos?

Cardano nodes traditionally assume one of two roles: block producer or relay. Dolos introduces a third role: the data node — optimized for keeping an updated ledger and responding to queries while requiring a fraction of the resources.

Dolos connects directly to the Cardano network using Ouroboros Node-to-Node (N2N) mini-protocols (via Pallas). It relies on honest upstream peers rather than performing full consensus validation, enabling significant resource savings.

Why Dolos?

  • Low resource footprint — Runs with a small fraction of the memory and CPU required by a traditional Cardano node
  • Rich API surface — Multiple protocols to match your existing stack: REST, gRPC, HTTP, JSON-RPC, and Ouroboros
  • Flexible storage mode — Choose your data retention: ledger-only, sliding window, or full archive
  • Full multi-era support — Handles all Cardano eras from Byron through Conway, including full governance support (DReps, proposals, voting)

Flexibility

Choose your storage profile:

Profile Description Best For
Ledger-only Current state only (UTxO set, pools, protocol params) — minimal disk Services needing only current ledger state
Sliding history Configurable retention window for recent data Most dApps that need recent history
Full archive Complete chain history from genesis Explorers, analytics, archival

Choose your API surface:

API Protocol Best For
MiniBF REST (Blockfrost-compatible) Existing Blockfrost integrations, wallets, SDKs
MiniKupo HTTP (Kupo-compatible) Pattern-based UTxO matching, chain indexing
UTxO RPC gRPC / gRPC-Web High-performance streaming, browser clients
TRP JSON-RPC (Tx3) Transaction building with Tx3 framework
Ouroboros Node-to-Client cardano-cli compatibility, Ogmios workflows

Features

Data Capabilities

  • Full historical reward logs — Complete reward distribution calculations and epoch state management
  • Stake distribution snapshots — Historical stake snapshots and epoch boundary logic
  • Pool registry & metadata — Pool registration, retirement handling, and delegator tracking
  • Asset registry — Token and NFT metadata tracking with CIP-25 support
  • Script indexing — Support of search / retrieval of scripts / datums by hash
  • Governance data — DRep registration, proposals, and voting state (Conway era)

Developer Experience

  • Mempool-aware transaction submit — Tracks pending, inflight, and finalized UTxO states, enabling transaction chaining workflows
  • Local devnet mode — Ephemeral single-node network via for offline development
  • Fast Mithril bootstrap — Sync mainnet from Mithril snapshot in under 20 hours
  • Dolos snapshots — Export and load node state in minutes for rapid deployment
  • Multi-platform binaries — Native packages for macOS (Apple Silicon), Linux (ARM64/x64), Windows x64, plus Docker images

Operations & Observability

  • Dual storage backends — Choose between Redb v3 or Fjall LSM-tree based on your workload
  • OpenTelemetry integration — Distributed tracing with OTLP export
  • Prometheus metrics — Health and performance monitoring endpoints
  • Rust implementation — Memory safety, high performance, and small binary size

Architecture

Dolos follows a modular, layered architecture:

  • Core abstractions (dolos-core) — Storage traits (State, Archive, WAL, Index), entity-delta system, and batch processing pipeline
  • Cardano logic (dolos-cardano) — Era-specific block processing, validation, reward calculation, and UTxO delta computation
  • Storage backends — Pluggable implementations: Redb v3 or Fjall LSM-tree
  • Service layer — gRPC, REST, and Ouroboros protocol servers

Data is organized into four isolated storage layers: State (current ledger), Archive (historical blocks), WAL (crash recovery), and Index (fast lookups). State mutations use an entity-delta pattern enabling efficient rollbacks without full snapshots.

Quick Start

We highly recommend following the quick start guide on our documentation site for detailed step-by-step instructions.

# macOS
brew install txpipe/tap/dolos

# Linux
curl --proto '=https' --tlsv1.2 -LsSf \
  https://github.com/txpipe/dolos/releases/latest/download/dolos-installer.sh | sh

# Windows (PowerShell)
powershell -c "irm https://github.com/txpipe/dolos/releases/latest/download/dolos-installer.ps1 | iex"

# Docker
docker run ghcr.io/txpipe/dolos:latest

# Node
npm install @txpipe/dolos

Once installed:

dolos init       # Interactive configuration and bootstrapping

📖 Full documentation: https://docs.txpipe.io/dolos

Contributing

PRs are welcome! Please ensure your changes pass CI checks.

See CONTRIBUTING.md for guidelines.

License

Dolos is licensed under the Apache License 2.0. See LICENSE for details.

About

Cardano Data Node

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages