site/releases
Local Dev 9072412012 Ariadne 0.1.11: indexer-first refresh + per-query indexer fallback
The daemon now uses the operator's live BNS indexer as the primary source of
truth, not chipnet electrum. Two changes to the resolver pipeline:

1) Background refresh is HTTPS-first with ETag. Every 30 s the daemon polls
   dl.silentmode.st/bns-name-index.json (and s3.silentmode.st:8600 as an
   independent Sia mirror) sending If-None-Match; only reparses the array
   when the operator republished, does zero work otherwise. Electrum WSS
   stays as a same-tick secondary that runs when HTTPS turned nothing up,
   so a daemon on a network that can reach chipnet but not the operator VPS
   still converges. Both broken? Keep the last-good index from warm-start.

2) Per-query indexer fallback in the DNS handler. When the in-memory index
   misses, the handler calls navigate.st/api/name/<host> directly with a
   5-second timeout and a 30-second LRU cache. Names registered AFTER the
   last snapshot poll but BEFORE the next one now answer immediately from
   the live indexer instead of falling straight through to a forward and
   returning NXDOMAIN. Cache is cleared on any successful full refresh so
   a de-registered name doesn't stay resolvable.

Net effect: on the class of failure that motivated this (chipnet electrum
timing out on blockchain.scripthash.get_history, or port 50004 filtered by
the network), the daemon just works. The operator's HTTPS indexer -- which
every other client in the ecosystem (Theseus mobile, Aegis, sirius.x, the
gateway itself) already reads from -- is now Ariadne's Thread's primary
too. Trust model unchanged: the snapshot always came from the operator.

Verified locally with the built binary on port 15353:
  bnsd index: warm-started from https://dl.silentmode.st/bns-name-index.json (61 names)
  hello.bch           -> 127.0.0.1   (snapshot hit)
  game.x              -> 127.0.0.1   (per-query /api/name fallback -- not in .bch-heavy snapshot)
  coinspectrum.x      -> 127.0.0.1   (per-query fallback)
  ariadne.x           -> 127.0.0.1   (per-query fallback)
  notregisteredxyz.x  -> NXDOMAIN    (indexer confirms not registered, forwarded to upstream)

Deployed
- dl.silentmode.st/AriadneResolver-Setup-0.1.11.exe
- s3://bns/silentmode/dl/AriadneResolver-Setup-0.1.11.exe
- silentmode.st manifest advertises 0.1.11
- sha256 58ffb06424785973d2cd656e5122061ce10b53a8dcff55605c23b5699552ee75
2026-09-30 00:51:47 +02:00
..
index.html Ariadne 0.1.11: indexer-first refresh + per-query indexer fallback 2026-09-30 00:51:47 +02:00