Indexer Architecture Overview
Learn how the indexing architecture works in Blockscout
Last updated
Copyright © Blockscout Limited 2023-2024
Learn how the indexing architecture works in Blockscout
Last updated
The following presentation describes the past, present and future iterations of Blockscout along with details about how block imports work both synchronously and asynchronously, and a description of the regular and on-demand fetchers.
See the pdf ⬆️ for more details about the Blockscout indexer. The indexing architecture includes all of the following indexers and fetchers
Both indexers utilize synchronous and asynchronous operations.
Realtime: Imports new block data from the head of the chain.
Catchup: Imports data down the chain (starting from the head and moving backwards towards the genesis block)
Internal transactions
Pending transactions
Dropped/Replaced transactions
Contract bytecodes
Block rewards
Token catalog
Token/coin balances
NFT instances
Uncles
Coin/token balances update
Contract bytecodes fetch/re-check
Contract source codes lookup
NFT instance metadata re-fetch
Token total supply
Coin / token price, market cap, tvl sources: CMC, Coingecko, Cryptorank, Defillama
Smart contract verification: ETH bytecode DB, Sourcify
Data enrichment: ENS names, public tags, AI interpreters (own, Noves Fi), sc security scanners (Solidityscan), assets portfolio (Zerion)
Chain initialization data import: pre-mined coins, precompiled smart-contracts
There are more than a dozen of chain-specific data fetchers to account for chain differences including arbitrum, optimism, polygon edge, polygon zkevm, zksync etc.
Used once to resolve possible data inconsistencies.