- HSD sidechain checked first (zone data authority)
- Alias comment dns= only used for names not yet on sidechain
- Main chain = ownership (like ARPA root), sidechain = zone records
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- splitPipe() for new format (pipe-separated records)
- Falls back to splitComma() for legacy comma-separated records
- Prevents comma-in-TXT-value parsing bug
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- When HSD sidechain returns null for a name, fall back to parsing
dns= field from the main chain alias comment
- Format: dns=A:@:1.2.3.4,CNAME:www:lthn.io,TXT:@:value
- ParseDNSFromComment extracts records and adds to cache
- Names registered via Blesta now resolve through LNS
- Always sync (removed tree root skip) to catch new alias comments
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Port 5353 conflicts with system mDNS (avahi). Port 5354 avoids the
conflict while remaining in the same range. Dockerfile updated to match.
Co-Authored-By: Charon <charon@lethean.io>
Go binary serving .lthn DNS from ITNS sidechain.
- DNS over UDP+TCP (A, AAAA, TXT, NS, SOA, PTR)
- Chain-based discovery via get_all_alias_details
- Tree-root invalidation (getblockchaininfo)
- hns= alias comment override
- Health endpoint (/health)
- 672 lines, core/go@v0.8.0-alpha.1
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>