§ Verana Indexer Specification

Specification Status: Pre-Draft

Latest Draft: verana-labs/verana-indexer-spec

Editors:
Fabrice Rochette (The Verana Foundation, 2060.io)
Participate:

GitHub repo

File a bug

Commit history


§ About this Document

This specification is for the Verana Indexer, a container-based App easily deployable locally, or in any modern cloud infrastructure.

§ Introduction

This section is non-normative.

§ Why We Need the Verana Indexer

  1. Ledger Storage Is Expensive

    • Every on-chain byte costs gas or block space.
    • To keep fees low, a VPR stores only the minimum viable record (IDs, hashes, pointers, values).
  2. Limited Native Indexing

    • Blockchains are append-only logs, not SQL engines.
    • Adding many on-chain indexes would explode storage costs and slow consensus.
  3. Query Complexity

    • Wallets and services still need fast look-ups:
      • Is this credential issued by an authorized issuer?
      • Which credential schema contains the word “name”?
    • Without an indexer, you’d have to scan the entire chain for each query, which is costly and impractical.
  4. Trust Resolution

    • Trust-resolving a DID with the [Verre] library takes some time.
    • Data stored in credentials is not present in the ledger.
    • Without the indexer, it would not be possible to search credential attributes.

§ 🔧 Enter the Verana Indexer

Feature Purpose
Ledger Listener Subscribes to new blocks & events.
Selective Ingest Index only new information or modified information.
Off-Chain Database Builds optimized tables & secondary indexes.
Real-Time Updates Each ledger transaction triggers an index refresh, keeping data in sync.
Lightweight Container Runs anywhere: validator nodes, cloud, or self-hosted.

With the Verana Indexer, the ledger stays lean, yet wallets, verifiers, and dashboards get millisecond-fast queries. It marries on-chain integrity with off-chain speed, and makes every credential uncovered during trust resolution instantly searchable.

§ Terminology

TBW

§ Specification

§ [GENERAL] General

The Verana Indexer MUST be delivered as a container.

§ [GENERAL-DEPLOYMENT] General - Deployment

§ [GENERAL-ENV] General - Container Variables

Type Variable Description Default Value (if unspecified)
Network Configuration API_ENDPOINT https://api.verana.network
RPC_ENDPOINT https://rpc.verana.network
CHAIN_ID vna-mainnet-1
NETWORK_NAME Mainnet
Table of Contents
undefined