Indexer Architecture Overview
Learn how the indexing architecture works in Blockscout
Last updated
Learn how the indexing architecture works in Blockscout
Last updated
Copyright © Blockscout Limited 2023-2024
The following presentation describes the past, present and future iterations of Blockscout along with details about how block imports work both synchonously 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 synchonous 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.