Tezos Dappetizer
  • Quick Start
  • How-to Guides
    • Using PostgreSQL
    • Exposing API with Hasura
  • Reference
    • Decorator-based Indexing
      • Indexing Entrypoint Call
      • Indexing Storage Change
      • Indexing Bigmap Update
      • Indexing Incoming Transaction
    • Interface-based Indexing
    • Configuration
    • Command Line
    • Usage Statistics
  • Technical Concepts
    • Indexing Cycle
    • Indexer Modules
  • Token Indexer
    • Introduction
    • Running Standalone in Docker
  • API Docs
  • dappetizer GitLab
Powered by GitBook
On this page

Was this helpful?

  1. Technical Concepts

Indexing Cycle

PreviousUsage StatisticsNextIndexer Modules

Last updated 3 years ago

Was this helpful?

You a starting block level and start Dappetizer. It downloads blocks one by one level from of Tezos node. Then for each indexer module it traverses the block, goes through its parts, and executes respective indexers from the indexer module. These indexers can implement whatever logic you need - collect or aggregate data, store them to the database or some other external storage, report them or notify other services, etc.

  • Once Dappetizer reaches head block, then it switches to Tezos monitor to listen for newly baked blocks.

  • The indexing cycle follows approach. It is executed in a transaction. If it fails, then it completely halts, and the transaction is rolled back. The error should be fixed, and Dappetizer should be restarted. This is done to avoid data inconsistencies, mainly due to temporary outages of external services.

  • Dappetizer (if used with a database) itself stores only info about indexed blocks.

  • If there is a blockchain reorganization, then Dappetizer detects it, rolls back the respective block, and invokes rollback on each indexer module until it gets to a consistent block. Then the indexing cycle continues.

configure
RPC
configured
The best or nothing