Skip to main content

Indexing Model

The Block Explorer indexes conforming ALX Blocks from configured sources into searchable views, which the Block Explorer and REST API serve. Results report the selected scope, availability, relationships, and completeness.

Scope​

A scope is a named, versioned set of configured sources, such as chains, registries, or archives. The scope parameter selects that set; each query result identifies the scope that answered the query.

ALX Protocol defines canonical Block identity and declared parents. The index records observations separately for each scope, so one canonical Block can have different observation histories across scopes.

Index Data Flow​

The index retrieves Blocks from configured sources, checks Block structure and identity against ALX Protocol rules, and records source observations. For queries, the index combines each Block's declared parents with children observed in the selected scope. The Block Explorer and REST API return indexed records with that scope context.

Canonical Facts and Index Observations​

Responses separate protocol-defined Block information from index observations and query context.

InformationMeaning
Canonical Block FactsProtocol-defined identity, content, version, and declared parentHashes.
Index ObservationsSource, first-observed time, availability, reverse relationships, and resolution status recorded within a scope.
Query ContextScope, revision, pagination, and completeness information for one response.

firstObservedAt records when the selected scope first observed a Block. The Block's creation time is not recorded.

Relationship Resolution​

Declared parents are protocol-defined relationships in a Block’s parentHashes. The index resolves declared parents against the selected scope and reports each parent record’s availability.

Indexed children are reverse relationships observed within the selected scope. available: false means the scope has not indexed a declared parent; an absent child means only that the scope has not observed one. Interfaces and integrations present those two conditions separately.

Completeness and Pagination​

Graph and list responses include scope and pagination information so clients can interpret result boundaries, and a bounded neighborhood also reports the graph portion retrieved within the selected scope, traversal limits, node budgets, and pagination state. Each response reports one of four completeness values:

  • complete-within-scope: Every configured source is caught up to the source’s advertised boundary, and the query stayed within the query budget.
  • partial: At least one source has a successful observation, but not every configured source is caught up.
  • unknown: The index has not established completeness for the scope.
  • truncated: A query budget or pagination boundary cut the result short; check the response's page and traversal metadata.

complete-within-scope does not claim coverage of every ALX Block. See Response Envelope for the fields that describe the result boundary.