site/releases
Local Dev 536b1fb41e Ariadne 0.1.10: multi-source snapshot warm-start so the daemon works on
WSS-blocked networks

Symptom on the other box (2026-09-29): task Running, port 53 bound by our
node, `Resolve-DnsName hello.bch -Server 127.0.0.1` times out. Cause: the
daemon's initial index build was a top-level `await buildIndex()` over
electrum WSS to chipnet (port 50004). Corporate/ISP networks that filter
outbound WSS let the await hang forever; the queries fell through to
`forward()` to upstream 1.1.1.1:53, which the same firewall also blocked,
so both legs died.

0.1.10 borrows Theseus's warmFromSnapshot pattern for the system-wide
daemon. On startup, in parallel with an 8 s deadline per source:

  1. HTTPS snapshot from operator VPS  https://dl.silentmode.st/bns-name-index.json
  2. HTTPS snapshot from Sia mirror     https://s3.silentmode.st:8600/bns/name-list.json
  3. On-disk cache from a previous run  C:\ProgramData\Ariadne\bns-name-snapshot.json

First non-empty result wins; on any HTTPS win the raw array is written to
the disk cache so the NEXT boot is instant even fully offline. dns.bind()
runs the moment warm-start completes, whether or not electrum was
reachable. Electrum WSS refresh continues in the background on the 30 s
timer and wins over the snapshot when it succeeds because it is strictly
newer.

Snapshot format is the pre-resolved array Android's Ariadne reader already
consumes (`[{name, category, records, txid, height, updatedTxid, owner?}]`),
so the operator maintains ONE artifact for both clients. Custom URLs go in
`ariadne.config.json`.snapshotUrls.

Verified on the dev box by running the built binary manually on port 15353:
  bnsd index: warm-started from https://dl.silentmode.st/bns-name-index.json (61 names)
  bnsd DNS: 127.0.0.1:15353 (policy=bcnr-first, upstream 1.1.1.1)
  hello.bch -> 127.0.0.1
Disk cache written: 17,674 bytes.

Deployed
- dl.silentmode.st/AriadneResolver-Setup-0.1.10.exe
- s3://bns/silentmode/dl/AriadneResolver-Setup-0.1.10.exe
- silentmode.st manifest advertises 0.1.10
- sha256 29710c4011dfe058a252f94af221c02593e728e89cc7427e3e01eaa530f8e526
2026-09-29 22:37:08 +02:00
..
index.html Ariadne 0.1.10: multi-source snapshot warm-start so the daemon works on 2026-09-29 22:37:08 +02:00