makeseeds.py improvements

Improve the Python tool that generates the default peer-to-peer seeds.
Available
$600.00
Check Out Task
Task Bounty Details

17020

Bitcoin Issue

Hours

Estimated Effort

Available

Current Status

$600.00

Paid in USD or equivalent BTC upon acceptance

Bitcoin Issue

`makeseeds.py` is used to generate a list of nodes that can be used as peers when bitcoind is started initially, since the fresh node lacks knowledge of the P2P network. A list of candidate peers is initially generated by sipa's long-running node, and then further refined for inclusion in the source code by `makeseeds.py`.

There are various improvements that could be made to this script as proposed by @laanwj.

Complete any of the remaining subtasks outlined in the Github issue:

(1) Determinism could be improved (this is useful for cross-checking)

(1.a) Read ASNs from a file (in progress in #24824)

(1.b) Per-ASN limit isn't consistently enforced?

(2) Bring back onion functionality past TorV3 switch

(2.a) We need a source of non-hardcoded V3 peers, currently the only ones are hardcoded and the seeder hasn't been updated to crawl v3 nodes yet (see sipa/bitcoin-seeder#92)  

(2.b) Consider increasing uptime requirements for Tor nodes from 10% as there appear to be enough

See the original bitcoin/bitcoin issue for more details.

See also

- bitcoin/contrib/seeds README

Prerequisite Skills

Python

Code Guidelines

Repository Code Guidelines Page

Definition of Done

Getting a PR merged that completes one or more of the subtasks in the original issue.

Check Out Task