Skip to content

Latest commit

 

History

History
52 lines (40 loc) · 2.13 KB

VALIDATION.md

File metadata and controls

52 lines (40 loc) · 2.13 KB

Validation (Grant MVP)

Validation timestamp: 2026-03-05 UTC

Environment:

  • Host: chainwatch
  • API (loopback): http://127.0.0.1:3300
  • Bitcoin node synced: initialblockdownload=false

Endpoint Behavior Checks

  1. GET /health returns 200 and body ok.
  2. GET /v1/mempool/fees returns 200 with stale=false.
  3. GET /v1/addresses/{address} returns 200 for a known address with non-empty data.
  4. GET /v1/runes/{rune_id} returns 200 for a known rune (880005:828).
  5. GET /v1/runes/{rune_id}/stacks-oracle returns 200 and non-empty top-holder list.
  6. GET /v1/runes/DOES-NOT-EXIST returns 404.
  7. GET /v1/runes?limit=abc returns 400 (query parse validation).

External Cross-Checks (mempool.space)

  1. Block mapping:
  • Local indexed block: 880119
  • External hash (/api/block-height/880119):
    • 00000000000000000002789418b7abd814c306885e72db587dc02b622ba7286c
  • Matches indexer log for block 880119.
  1. Rune etching tx confirmation:
  • Rune: 880005:828 (DONALD•PUMPS)
  • Etching txid (local): ad76bbe79cdea8cdee22d89a363ff7dddcd62099843972def8c2cf638f5c4b02
  • External status (/api/tx/{txid}/status): confirmed at block 880005.
  1. Previously failing tx exists on-chain:
  • Txid: 8a8187f1b7ab5a7378b149a75b049e645951cff016587774929308ce49ee81c3
  • External status: confirmed at block 880119.
  • Note: indexer now skips this tx on processing failure and continues indexing.
  1. Address UTXO tx confirmation:
  • Address sample:
    • bc1p9fh9y93vemenx7dx6ugv588yv7z8qxun6t05tttxd0z7ujf20f5qa5ntx3
  • Local unspent UTXO txid:
    • cbfc50c5350169c60a29cadfbc2ac2eda4ea5a19b2e04b8cd992ece667a62696
  • External status: confirmed at block 880034.
  1. Latest tip sync:
  • Local getblockchaininfo: blocks=headers and initialblockdownload=false.
  • Confirms node-level mainnet sync completion.

Notes

  • holder_count and concentration aggregates in rune_tickers are not yet recomputed by a background analytics job; stacks-oracle top holders are derived live from rune_balances.
  • The indexer was previously stalled at block 880119; this was fixed by per-transaction savepoint isolation and skip-on-failure behavior.