Closes #20239 and mitigates my node’s problem in #21351.
-
Add a few hardcoded seeds for TorV3
- As the bitcoin-seeder doesn’t collect TorV3 addresses yet, I have extracted these from my own node using a script and added them manually. This is intended to be a temporary stop gap until 22.0’s seeds update.
-
Change hardcoded seeds to variable length BIP155 binary format.
- It is stored as a single serialized blob in a byte array, instead of pseudo-IPv6 address slots. This is more flexible and, assuming most of the list is IPv4, more compact.
- Only the (networkID, addr, port) subset (CService). Services and time are construed on the fly as before.
-
Change input format for
nodes_*.txt
.- Drop legacy
0xAABBCCDD
format for IPv4. It is never generated bymakeseeds.py
. - Stop interpreting lack of port as default port, interpret it as ’no port’, to accomodate I2P and other port-less protocols (not handled in this PR). An explicit port is always generated by
makeseeds.py
so in practice this makes no difference right now.
- Drop legacy
A follow-up to this PR could do the same for I2P.