From ee273e606117b32cd1d6bc93ba11304f6049c01d Mon Sep 17 00:00:00 2001
From: Matt Corallo
- Headers names are broken into sub-zones of 10,000 records, so queries should take the form of height.(height / 10000).bitcoinheaders.net (or, for basic neutrino filter headers, height.(height / 10000).basic.filter.bitcoinheaders.net). + Headers names are broken into sub-zones of 10,000 records, so queries should take the form of v2.height.(height / 10000).bitcoinheaders.net (or, for basic neutrino filter headers, v2.height.(height / 10000).basic.filter.bitcoinheaders.net).
- All headers and filter headers are encoded with an arbitrary two byte prefix (currently "2001:"), followed by a 0-indexed order nibble (as nameservers often reorder responses). Bitcoin headers are then prefixed by a single version byte (currently version 0 - two 0 nibbles) and placed into the remaining 80 bytes of six IPv6 addresses. Filter headers are simply placed into three IPv6 addresses with a 17-nibble (8.5 byte) 0 suffix. + All headers and filter headers are encoded with an arbitrary one byte prefix (which you must ignore, as it may change in the future), followed by a 0-indexed order byte (as nameservers often reorder responses). Entries are then prefixed by a single version byte (currently version 1) and placed into the remaining bytes of the IPv6 addresses.
The genesis block header is, thus, encoded as (note that the responses are usually not sorted):
-0.0.bitcoinheaders.net. 604800 IN AAAA 2001:0:1000:: -0.0.bitcoinheaders.net. 604800 IN AAAA 2001:1000:: -0.0.bitcoinheaders.net. 604800 IN AAAA 2001:2000::3ba:3edf -0.0.bitcoinheaders.net. 604800 IN AAAA 2001:3d7a:7b12:b27a:c72c:3e67:768f:617f -0.0.bitcoinheaders.net. 604800 IN AAAA 2001:4c81:bc38:88a5:1323:a9fb:8aa4:b1e5 -0.0.bitcoinheaders.net. 604800 IN AAAA 2001:5e4a:29ab:5f49:ffff:1d:1dac:2b7c+v2.0.0.bitcoinheaders.net. 604800 IN AAAA 2603:7b12:b27a:c72c:3e67:768f:617f:c81b +v2.0.0.bitcoinheaders.net. 604800 IN AAAA 2600:101:: +v2.0.0.bitcoinheaders.net. 604800 IN AAAA 2601:: +v2.0.0.bitcoinheaders.net. 604800 IN AAAA 2602::3b:a3ed:fd7a +v2.0.0.bitcoinheaders.net. 604800 IN AAAA 2605:ab5f:49ff:ff00:1d1d:ac2b:7c00:0 +v2.0.0.bitcoinheaders.net. 604800 IN AAAA 2604:c388:8a51:323a:9fb8:aa4b:1e5e:4a29
which decodes to
0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a29ab5f49ffff001d1dac2b7c
and the 10,000th filter header encoded as:
-10000.1.basic.filter.bitcoinheaders.net. 604800 IN AAAA 2001:65e:9154:fba5:5883:1fa0:4738:3262 -10000.1.basic.filter.bitcoinheaders.net. 604800 IN AAAA 2001:1dee:3a70:76df:a4aa:5ee9:5285:5cdf -10000.1.basic.filter.bitcoinheaders.net. 604800 IN AAAA 2001:225c:f460:3730::+v2.10000.1.basic.filter.bitcoinheaders.net. 604800 IN AAAA 2601:2dee:3a70:76df:a4aa:5ee9:5285:5cdf +v2.10000.1.basic.filter.bitcoinheaders.net. 604800 IN AAAA 2600:165:e915:4fba:5588:31fa:473:8326 +v2.10000.1.basic.filter.bitcoinheaders.net. 604800 IN AAAA 2602:25cf:4603:7300::
which decodes to
65e9154fba558831fa047383262dee3a7076dfa4aa5ee952855cdf25cf460373 -- 2.39.5