From 7a2068a0ff9eec2bab436b47eba37fd34b71bba4 Mon Sep 17 00:00:00 2001 From: virtu Date: Thu, 22 Aug 2024 11:50:15 +0200 Subject: [PATCH] seeds: Pull nodes from virtu's crawler Pull additional nodes from virtu's crawler. Data includes sufficient Onion and I2P nodes to align the uptime requirements for these networks to that of clearnet nodes (i.e., 50%). Data also includes more than three times the number of CJDNS nodes currently hardcoded into nodes_main_manual.txt, so hardcoded nodes becomes obsolete. --- contrib/seeds/README.md | 7 ++++--- contrib/seeds/makeseeds.py | 6 +++--- contrib/seeds/nodes_main_manual.txt | 4 ---- 3 files changed, 7 insertions(+), 10 deletions(-) delete mode 100644 contrib/seeds/nodes_main_manual.txt diff --git a/contrib/seeds/README.md b/contrib/seeds/README.md index e63c17c3853..b3a5c51ec00 100644 --- a/contrib/seeds/README.md +++ b/contrib/seeds/README.md @@ -8,16 +8,17 @@ and remove old versions as necessary (at a minimum when SeedsServiceFlags() changes its default return value, as those are the services which seeds are added to addrman with). -The seeds compiled into the release are created from sipa's and achow101's DNS seed and AS map -data. Run the following commands from the `/contrib/seeds` directory: +The seeds compiled into the release are created from sipa's and achow101's DNS seed, +virtu's crawler, and fjahr's community AS map data. Run the following commands from the +`/contrib/seeds` directory: ``` curl https://bitcoin.sipa.be/seeds.txt.gz | gzip -dc > seeds_main.txt curl https://mainnet.achownodes.xyz/seeds.txt.gz | gzip -dc >> seeds_main.txt curl https://testnet.achownodes.xyz/seeds.txt.gz | gzip -dc > seeds_test.txt +curl https://21.ninja/seeds.txt.gz | gzip -dc >> seeds_main.txt curl https://raw.githubusercontent.com/fjahr/asmap-data/main/latest_asmap.dat > asmap-filled.dat python3 makeseeds.py -a asmap-filled.dat -s seeds_main.txt > nodes_main.txt -cat nodes_main_manual.txt >> nodes_main.txt python3 makeseeds.py -a asmap-filled.dat -s seeds_test.txt > nodes_test.txt # TODO: Uncomment when a seeder publishes seeds.txt.gz for testnet4 # python3 makeseeds.py -a asmap-filled.dat -s seeds_testnet4.txt -m 30000 > nodes_testnet4.txt diff --git a/contrib/seeds/makeseeds.py b/contrib/seeds/makeseeds.py index 87445838087..0f22046625e 100755 --- a/contrib/seeds/makeseeds.py +++ b/contrib/seeds/makeseeds.py @@ -230,12 +230,12 @@ def main(): # Require service bit 1. ips = [ip for ip in ips if (ip['service'] & 1) == 1] print(f'{ip_stats(ips):s} Require service bit 1', file=sys.stderr) - # Require at least 50% 30-day uptime for clearnet, 10% for onion and i2p. + # Require at least 50% 30-day uptime for clearnet, onion and i2p; 10% for cjdns req_uptime = { 'ipv4': 50, 'ipv6': 50, - 'onion': 10, - 'i2p' : 10, + 'onion': 50, + 'i2p': 50, 'cjdns': 10, } ips = [ip for ip in ips if ip['uptime'] > req_uptime[ip['net']]] diff --git a/contrib/seeds/nodes_main_manual.txt b/contrib/seeds/nodes_main_manual.txt deleted file mode 100644 index a1e4975965c..00000000000 --- a/contrib/seeds/nodes_main_manual.txt +++ /dev/null @@ -1,4 +0,0 @@ -# manually updated 2023-04 for minimal cjdns bootstrap support -[fc32:17ea:e415:c3bf:9808:149d:b5a2:c9aa]:8333 -[fcc7:be49:ccd1:dc91:3125:f0da:457d:8ce]:8333 -[fcdc:73ae:b1a9:1bf8:d4c2:811:a4c7:c34e]:8333