DNS seeder 'options'

2

1

I've seen various 'options' that the different DNS seeders support, for example x1, x5, x9, and xd:

vSeeds.emplace_back("seed.bitcoin.sipa.be", true); // Pieter Wuille, only supports x1, x5, x9, and xd
vSeeds.emplace_back("dnsseed.bluematt.me", true); // Matt Corallo, only supports x9
vSeeds.emplace_back("dnsseed.bitcoin.dashjr.org", false); // Luke Dashjr
vSeeds.emplace_back("seed.bitcoinstats.com", true); // Christian Decker, supports x1 - xf
vSeeds.emplace_back("seed.bitcoin.jonasschnelli.ch", true); // Jonas Schnelli, only supports x1, x5, x9, and xd
vSeeds.emplace_back("seed.btc.petertodd.org", true); // Peter Todd, only supports x1, x5, x9, and xd

(from chainparams.cpp)

But I can't find anything which actually explains what these options are. What do these options do and why do only some seeders offer some of the options?

MeshCollider

Posted 2017-10-07T02:36:23.220

Reputation: 8 735

Answers

3

This is 'service bit filtering.'

You can run nslookup seed.bitcoin.sipa.be, and get a list of bitcoin nodes.

You can also run nslookup x1.seed.bitcoin.sipa.be, and get a list of nodes with NODE_NETWORK set.

(source 1. source 2.)

Nick ODell

Posted 2017-10-07T02:36:23.220

Reputation: 26 536

So the number following the X is like a bitmask for the service bits? Makes sense, thanks :)MeshCollider 2017-10-07T06:50:10.067

1Exactly, it sets what bits are required in the result.Pieter Wuille 2017-10-07T09:57:51.610