Back

RPC indexing and missing observations

P02-L07 · P02 · P02-M02

Distinguish node state indexer latency and absent evidence

ILLUSTRATIVE · needs_review

Prerequisites: P02-L06

Learning objectives

  • Distinguish node state indexer latency and absent evidence
  • Distinguish null, transport error and measured zero.
  • Explain indexer coverage and timing limits.
  • Formulate a targeted missing-data check.

EN source master · P02-L07 · 30 minutes estimated · needs_review

Read-only study. No wallet connection, real money, seed phrase, private key, signature or live trade. Duration is an editorial estimate; visual assets are specifications, not deployed components.

Why this matters

A blank screen is not evidence that nothing happened. The observation path can fail or lag independently of the ledger event being investigated.

Explanation

Trace the observation path

A node API returns data under a method's parameters and the node's available state. An indexer builds another view for search or aggregation. An interface displays that view. A missing result may arise at different layers; do not collapse them into one chain-level conclusion.

Solana getTransaction can return null when the transaction is not found at the requested commitment [SOLRPC]. Ethereum receipt methods also distinguish available receipts from missing results [RPC]. The exact method and context matter more than the generic word ‘empty’.

Four superficially similar outputs

Zero is a returned measurement under a defined query. Null is an unavailable/not-found result under method semantics. An empty list is no returned rows under its filters and coverage. A timeout is a communication outcome. None is interchangeable without additional evidence.

An indexer may have processed only through a stated block. A query about a later event then cannot establish absence. Do not invent the missing row; report the coverage gap. A later recheck should preserve the original request and compare equivalent parameters.

Diagnose with the smallest useful record

Record network, identifier, method, parameters, commitment/block, source and retrieval marker. Then ask for the missing layer: current indexed-through context, node status, archival availability or the exact transaction record. Repeating an unchanged query indefinitely does not add evidence.

Preserve uncertainty in the report

Use ‘not returned by source S under query Q’ instead of ‘does not exist’. If a supplied node packet includes a record but an indexer stops earlier, lag is a reasonable explanation within that fixture. It remains an inference with a stated coverage basis, not proof that every blank UI is harmless.

Do not classify an asset as safe or a person as inactive from missing observations. Completeness is a property that must be supported, not inferred from an empty page.

Evidence-state classification

OBSERVED in the fixture: supplied node record, indexer coverage, empty response, timeout and scoped zero balance. INFERRED: the coverage gap makes I1 compatible with N1 under the stated context. UNKNOWN: N2's fee and earlier holdings. INSUFFICIENT EVIDENCE: an empty list, timeout or one zero snapshot proves complete historical absence.

Key terms

  • RPC (remote procedure call): method-based request to a node or provider.
  • Commitment: the requested level of network confirmation for an observation; its meaning is network-specific.
  • Indexer: derived searchable data service.
  • Coverage: what a source includes.
  • Null: missing result under method-specific semantics.

Historical example

ILLUSTRATIVE. N1 supplies SIM-TX-Z in block120, execution success. I1 indexedThrough=118 and returns empty for Z. N2 times out. B1 returns balance0 for ACCOUNT-Q at block119. All are SIM-NET; markers are fictional.

Visual specifications

Evidence panel with N1 block120, I1 coverage118, N2 timeout, B1 zero119. Alt: missing/indexed data and a measured zero answer different questions.

What the evidence proves

The fixture's distinct response types and bounded coverage explanation.

What the evidence does not prove

Global transaction absence, complete history, source authenticity or live service health.

Common mistakes

  • Null equals zero.
  • Empty indexer means no transaction.
  • Timeout means no fee.

Practical exercise

Classify each result and draft a missing-observation note. Does I1 contradict N1? Does N2 establish no fee? Can B1 establish that Q never held assets?

Submit a short evidence table and reasoning, using only the provided material. Suggested allocation: study 12 min, inspection/calculation 8 min, correction/quiz 10 min.

Show worked correction

N1 is a supplied inclusion record. I1 has a coverage gap for120, so its empty response does not contradict N1; lag is INFERRED under the stated coverage. N2 gives no execution/fee measurement. B1 is a measured zero at119 only, not a complete history. Fee at N2 and Q's earlier holdings remain UNKNOWN.

Review rubric: 1 point each for exact scope, source/fixture provenance, correct reasoning, explicit limitations and safe offline handling (5 total). An invented observation or unsupported human attribution requires correction regardless of score. This is formative feedback, not certification.

Checklist

  • Method and parameters.
  • Returned result type.
  • Indexed-through/block/commitment.
  • Coverage gap.
  • Targeted next request.

Summary

A blank screen is not evidence that nothing happened. The observation path can fail or lag independently of the ledger event being investigated. The supplied material supports the fixture's distinct response types and bounded coverage explanation. It does not establish global transaction absence, complete history, source authenticity or live service health.

Summary

  • Distinguish null, transport error and measured zero.
  • Explain indexer coverage and timing limits.
  • Formulate a targeted missing-data check.

Next lesson

P02-L08 after reviewing this exercise and its prerequisites.

Tools

NONE. The authoritative catalog requires no product access for this lesson. Use the frozen/offline material.

Sources & claim boundaries

  • [RPC] Ethereum JSON-RPC — Receipt status, block context and network-scoped API results. Checked 2026-10-01.
  • [SOLRPC] Solana getTransaction — Commitment-scoped results and null when not found/confirmed. Checked 2026-10-01.

Synthetic values are author-created exercise inputs. Historical values, if any, must use the linked dataset and its narrower provenance. Source inspection is not independent editorial acceptance.

Visual specifications

P02-L07-V01

SPECIFICATION_ONLY · ILLUSTRATIVE

Distinguish node state indexer latency and absent evidence

Illustrative teaching data; not a live screen

Evidence panel with N1 block120, I1 coverage118, N2 timeout, B1 zero119. Alt: missing/indexed data and a measured zero answer different questions.

missing/indexed data and a measured zero answer different questions.

390px stacked rows with complete text equivalent; 768px/desktop render acceptance pending

RTL prose; identifiers and number units remain LTR; preserve factual arrow directions

FIX-P02-L07

Sources & claim boundaries

SOLRPC · PRIMARY_DOCUMENTATION

Solana getTransaction

Supported claim
Commitment-scoped results and null when not found/confirmed.
Verification boundary
Primary page inspected for the stated mechanism or attributed publication; does not authenticate illustrative data.
Checked at
2026-10-01
Open primary source
https://solana.com/docs/rpc/http/gettransaction

Dataset provenance

id: FIX-P02-L07

dataStatus: ILLUSTRATIVE

source: Original teaching fixture embedded below; not externally observed

observedAt: null

timeBasis: SIM/T markers are fictional; no real timestamp or chain observation

scope: Invalid training labels; no usable wallet, key or signature

Test your reasoning

P02-L07-Q1 · Why can I1 be empty without contradicting N1?
P02-L07-Q2 · N2 fee status?
P02-L07-Q3 · B1 establishes?
P02-L07-Q4 · Null and zero interchangeable?
P02-L07-Q5 · Best next indexer check?