sipa/bitcoin-seeder

crawler: Collect Tor v3 and I2P addresses?

Opened this issue · 4 comments

Tor v3 and I2P addresses are too large for DNS seeding, and it would be unnecessary in the first place (also because it is not possible/practical to access DNS over these networks).

However, it could still be useful to collect them for other purposes. For example, in the Bitcoin Core release process we use the text output of a DNS seeder as input for generating the hardcoded list of seeds. We are going to need some kind of crawler that supports these addresses.

I would implement BIP155 for this seeder if @sipa agrees.

Of course, addresses higher than 16 bytes would not be reported in a DNS response, but would be saved in the seeder's database and printed in the seeder dump file.

I have two options:

  1. implement addrv2 within this code base.
  2. integrate this codebase with bitcoin core master essentially having bitcoin as a git submodule and compile against it. This is to use the upstream addrv2 (de)serialization implementation.

I am open to both options, whichever @sipa agrees with if any.

sipa commented

I'd go for option 1.

Concept ACK, this could save a lot of time when updating the hardcoded seeds for tor v3, i2p and cjdns. We've been doing that manually for the past few releases that support these BIP155 networks.

BIP155 implementation is ready.

Please checkout #101.