contrib: Use asmap for ASN lookup in makeseeds
Add an argument `-a` to provide a asmap file to do the IP to ASN lookups. This speeds up the script greatly, and makes the output deterministic. Also removes the dependency on `dns.lookup`. I've annotated the output with ASxxxx comments to provide a way to verify the functionality. For now I've added instructions in README.md to download and use the `demo.map` from the asmap repository. When we have some other mechanism for distributing asmap files we could switch to that. This continues #24824. I've removed all the fallbacks and extra complexity, as everyone will be using the same instructions anyway. Co-authored-by: Pieter Wuille <pieter.wuille@gmail.com> Co-authored-by: James O'Beirne <james.obeirne@pm.me> Co-authored-by: russeree <reese.russell@ymail.com>
This commit is contained in:
1 parent
bd6c5e4108
commit
b54180303d
4 files changed
+120
-48
No files matched your search
+4
-14
@@ -8,21 +8,11 @@ and remove old versions as necessary (at a minimum when GetDesirableServiceFlags
|
||||
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 DNS seed data, like this:
|
||||
The seeds compiled into the release are created from sipa's DNS seed and 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
|
||||
python3 makeseeds.py < seeds_main.txt > nodes_main.txt
|
||||
curl https://bitcoin.sipa.be/asmap-filled.dat > asmap-filled.dat
|
||||
python3 makeseeds.py -a asmap-filled.dat < seeds_main.txt > nodes_main.txt
|
||||
cat nodes_main_manual.txt >> nodes_main.txt
|
||||
python3 generate-seeds.py . > ../../src/chainparamsseeds.h
|
||||
|
||||
## Dependencies
|
||||
|
||||
Ubuntu, Debian:
|
||||
|
||||
sudo apt-get install python3-dnspython
|
||||
|
||||
and/or for other operating systems:
|
||||
|
||||
pip install dnspython
|
||||
|
||||
See https://dnspython.readthedocs.io/en/latest/installation.html for more information.
|
||||
Reference in new issue
Block a user