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.
pull/30695/head
virtu 3 months ago
parent 37cdb5f248
commit 7a2068a0ff

@ -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 changes its default return value, as those are the services which seeds are added
to addrman with). to addrman with).
The seeds compiled into the release are created from sipa's and achow101's DNS seed and AS map The seeds compiled into the release are created from sipa's and achow101's DNS seed,
data. Run the following commands from the `/contrib/seeds` directory: 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://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://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://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 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 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 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 # 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 # python3 makeseeds.py -a asmap-filled.dat -s seeds_testnet4.txt -m 30000 > nodes_testnet4.txt

@ -230,12 +230,12 @@ def main():
# Require service bit 1. # Require service bit 1.
ips = [ip for ip in ips if (ip['service'] & 1) == 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) 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 = { req_uptime = {
'ipv4': 50, 'ipv4': 50,
'ipv6': 50, 'ipv6': 50,
'onion': 10, 'onion': 50,
'i2p' : 10, 'i2p': 50,
'cjdns': 10, 'cjdns': 10,
} }
ips = [ip for ip in ips if ip['uptime'] > req_uptime[ip['net']]] ips = [ip for ip in ips if ip['uptime'] > req_uptime[ip['net']]]

@ -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
Loading…
Cancel
Save