Anoma Developer Documentation
  • Overview
  • Build
    • Getting Started
    • Your First Anoma App
      • Define a Resource
      • Write a Transaction Function
      • Write a Projection Function
      • Run your App
    • Anoma App Examples
  • LEARN
    • Overview
    • State Model
      • Model Comparison
    • Resource Machine
      • Information Flow Control
    • Resources
      • State
      • Logic
      • Kind
      • Lifecycle
    • Transactions
      • Delta
      • Actions
      • Balanced Transactions
      • Intents
    • Applications
      • Backend
      • Interface
    • Services
      • Indexing
      • Solving
Powered by GitBook
On this page
  1. LEARN
  2. Services

Indexing

This page explains indexing services.

PreviousServicesNextSolving

Last updated 2 months ago

Since only the commitments and nullifiers of created and consumed resources are stored on a distributed ledger (see and ) and not the itself, a node wanting to know about current global blockchain state must

  • (1) be online all the time,

  • (2) observe all transactions that occur, and

  • (3) store all created and consumed resource objects on their hard drive.

For a normal user, this is not feasible. Moreover, the above assumes that all transactions are transparent and not , in which case a node would not be able to see them.

Indexing is the process of tracking created and consumed resources and storing the information in a database. This database can then be filtered with custom predicates by service users. Users wanting to know, for example, their current balance, after being offline for a couple of days can query an indexing service for resources they might have received.

Indexing service providers can commit to archiving:

  • All visible state

  • App-specific state (e.g., based on the )

  • User-specific state (e.g., based on ownership or other resource properties)

Commercial indexing services are expected to charge fees. However, since becoming an indexer is permissionless and a simple service commitment within the Anoma protocol, normal peer-to-peer nodes can become indexers, too. Moreover, nodes in the network can also commit to caching resources relevant for their peers free of charge for a certain period of time, thus contributing to a decentralized and mutual service economy.

Current private devnet A central Anoma node is providing indexing services and allows filtering resources by kind and owner.

resource object
shielded or private
#creation
#consumption
resource kind