aboutsummaryrefslogtreecommitdiff
path: root/contrib/seeds
AgeCommit message (Collapse)Author
2024-09-26contrib: Update asmap link in seeds readmeFabian Jahr
2024-08-27seeds: Regenerate mainnet seedsvirtu
Regenerate mainnet seeds from new sources without the need for hardcoded data. Result has 512 nodes from each network type except cjdns, for which only eight nodes were found that match the seed node criteria.
2024-08-27seeds: Pull nodes from Luke's seedervirtu
Pull additional nodes from Luke's seeder to further decentralize the generation of seed nodes.
2024-08-27seeds: Pull nodes from virtu's crawlervirtu
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.
2024-08-16seeds: Use fjahr's more up to date asmapAva Chow
2024-08-16seeds: Fixed seeds updateAva Chow
Update the fixed seeds for both mainnet and testnet
2024-08-16seeds: Add testnet4 fixed seeds fileAva Chow
2024-08-16seeds: Remove manual onion and i2p seedsAva Chow
The seeders now produce onion and i2p seeds, so there is no need to keep these in the manual list. Although should also be produced, there are not enough good ones detected by the seeder, so we keep the manual seeds for them.
2024-08-16seeds: Add testnet instructionsAva Chow
2024-08-16seeds: Also pull from achow101 seederAva Chow
2024-08-16makeseeds: Configurable minimum blocks for testnet4's smaller chainAva Chow
2024-08-14makeseeds: Shuffle ips after parsingAva Chow
The crawlers are not guaranteed to output nodes in a random order, so shuffle the ips list after parsing to break any biasing that may be caused by the output order.
2024-08-14makeseeds: Support CJDNSAva Chow
2024-08-14makeseeds: Update user agent regexAva Chow
Update the user agent regex to match all 3 digits of the version number, not just the first 2 digits. Also updates it to include 24.2, 25.2, 26.1, 27.0, 27.1, 27.99, 28.0 and 28.99.
2024-08-06testnet: Introduce Testnet4Fabian Jahr
2024-06-06Merge bitcoin/bitcoin#29401: test: Remove struct.pack from almost all placesAva Chow
fa52e13ee81fcc7543890dbd6986fcb55168583f test: Remove struct.pack from almost all places (MarcoFalke) fa826db477a981b48bff53021f9695a5f6682dc0 scripted-diff: test: Use int.to_bytes over struct packing (MarcoFalke) faf2a975ad46799d075e3a70c699da0d8182aab9 test: Use int.to_bytes over struct packing (MarcoFalke) faf3cd659a72473a1aa73c4367a145f4ec64f146 test: Normalize struct.pack format (MarcoFalke) Pull request description: `struct.pack` has many issues: * The format string consists of characters that may be confusing and may need to be looked up in the documentation, as opposed to using easy to understand self-documenting code. This lead to many test bugs, which weren't hit, which is fine, but still confusing. Ref: https://github.com/bitcoin/bitcoin/pull/29400, https://github.com/bitcoin/bitcoin/pull/29399, https://github.com/bitcoin/bitcoin/pull/29363, fa3886b7c69cbbe564478f30bb2c35e9e6b1cffa, ... Fix all issues by using the built-in `int` helpers `to_bytes` via a scripted diff. Review notes: * For `struct.pack` and `int.to_bytes` the error behavior is the same, although the error messages are not identical. * Two `struct.pack` remain. One for float serialization in a C++ code comment, and one for native serialization. ACKs for top commit: achow101: ACK fa52e13ee81fcc7543890dbd6986fcb55168583f rkrux: tACK [fa52e13](https://github.com/bitcoin/bitcoin/pull/29401/commits/fa52e13ee81fcc7543890dbd6986fcb55168583f) theStack: Code-review ACK fa52e13ee81fcc7543890dbd6986fcb55168583f Tree-SHA512: ee80d935b68ae43d1654b047e84ceb80abbd20306df35cca848b3f7874634b518560ddcbc7e714e2e7a19241e153dee64556dc4701287ae811e26e4f8c57fe3e
2024-05-09Merge bitcoin/bitcoin#28793: contrib: Add asmap-toolAva Chow
6abe772a17e09fe96e68cd3311280d5a30f6378b contrib: Add asmap-tool (Fabian Jahr) Pull request description: This adds `asmap.py` and `asmap-tool.py` from sipa's `nextgen` branch: https://github.com/sipa/asmap/tree/nextgen The motivation is that we should maintain the tooling for de- and encoding asmap files within the bitcoin core repository because it is not possible to use an asmap file that is not encoded. We already had an earlier version of `asmap.py` within the seeds contrib tools. The newer version only had a small amount of changes and is still compatible, so the old version is removed from contrib/seeds and the new version is made available to `makeseeds.py`. ACKs for top commit: virtu: ACK [6abe772](https://github.com/bitcoin/bitcoin/commit/6abe772a17e09fe96e68cd3311280d5a30f6378b) 0xB10C: ACK 6abe772a17e09fe96e68cd3311280d5a30f6378b achow101: ACK 6abe772a17e09fe96e68cd3311280d5a30f6378b brunoerg: ACK 6abe772a17e09fe96e68cd3311280d5a30f6378b Tree-SHA512: cc2a82ffa4eb46fa0ce4ca769dd82f8d0d2f37fc3652aa748eeb060e1142f9da4035008fe89433e2fd524a4dc153b7b9c085748944b49137b37009b0c0be8afb
2024-05-07test: Remove struct.pack from almost all placesMarcoFalke
2024-05-07scripted-diff: test: Use int.to_bytes over struct packingMarcoFalke
-BEGIN VERIFY SCRIPT- sed -i --regexp-extended 's!struct.pack\(.<?B., (.*)\)!\1.to_bytes(1, "little")!g' $( git grep -l struct.pack ) sed -i --regexp-extended 's!struct.pack\(.<I., (.*)\)!\1.to_bytes(4, "little")!g' $( git grep -l struct.pack ) sed -i --regexp-extended 's!struct.pack\(.<H., (.*)\)!\1.to_bytes(2, "little")!g' $( git grep -l struct.pack ) sed -i --regexp-extended 's!struct.pack\(.<i., (.*)\)!\1.to_bytes(4, "little", signed=True)!g' $( git grep -l struct.pack ) sed -i --regexp-extended 's!struct.pack\(.<q., (.*)\)!\1.to_bytes(8, "little", signed=True)!g' $( git grep -l struct.pack ) sed -i --regexp-extended 's!struct.pack\(.>H., (.*)\)!\1.to_bytes(2, "big")!g' $( git grep -l struct.pack ) -END VERIFY SCRIPT-
2024-04-25contrib: Add asmap-toolFabian Jahr
Co-authored-by: Pieter Wuille <pieter@wuille.net>
2024-03-04seeds: Update testnet seedsAva Chow
2024-03-04seeds: Update mainnet seedsAva Chow
2024-03-04makeseeds: Check i2p seeds tooAva Chow
2024-03-04makeseeds: Update PATTERN_AGENTAva Chow
2024-01-15net: decouple state independent service flags from desirable onesfurszy
This former one will be moved to the peer manager class in the following-up commit.
2023-11-16test: replace `Callable`/`Iterable` with their `collections.abc` alternative ↵stickies-v
(PEP 585)
2023-10-25test: use built-in collection types for type hints (Python 3.9 / PEP 585)Sebastian Falbesoner
Since Python 3.9, type hinting has become a little less awkward, as for collection types one doesn't need to import the corresponding capitalized types (`Dict`, `List`, `Set`, `Tuple`, ...) anymore, but can use the built-in types directly. [1] [2] This commit applies the replacement for all Python scripts (i.e. in the contrib and test folders) for the basic types: - typing.Dict -> dict - typing.List -> list - typing.Set -> set - typing.Tuple -> tuple [1] https://docs.python.org/3.9/whatsnew/3.9.html#type-hinting-generics-in-standard-collections [2] https://peps.python.org/pep-0585/#implementation for a list of type
2023-04-20p2p: update hardcoded mainnet seeds for 25.xJon Atack
2023-04-20contrib: make-seeds updates for 25.xJon Atack
and make the steps in /contrib/seeds/README.md easier to copy-paste
2023-04-20p2p: update manual tor/i2p/cjdns mainnet seeds for 25.xJon Atack
selected for reachability, uptime, and service bit 1
2023-04-20Merge bitcoin/bitcoin#27482: kernel: chainparams updates for 25.xfanquake
a2bef805c11a4ab391f4ea635bfde7dd2ec9ce81 kernel: update m_assumed_* chain params for 25.x (fanquake) 4128e01dbaa630396b0e7576ee8a1987267f77b9 kernel: update chainTxData for 25.x (fanquake) 00b2b114b442835c863e7772348cb1d1881ba0f2 kernel: update nMinimumChainWork & defaultAssumeValid for 25.x (fanquake) 07fcc0a82cfd08c991f61c2340630f0c4659a3a0 doc: update references to kernel/chainparams.cpp (fanquake) Pull request description: Update chainparams pre `25.x` branch off. Co-Author in the commits as a PR (#27223) had previously been opened too-early to do the same. Note: Remember that some variance is expected in the `m_assumed_*` sizes. ACKs for top commit: achow101: ACK a2bef805c11a4ab391f4ea635bfde7dd2ec9ce81 josibake: ACK https://github.com/bitcoin/bitcoin/pull/27482/commits/a2bef805c11a4ab391f4ea635bfde7dd2ec9ce81 gruve-p: ACK https://github.com/bitcoin/bitcoin/pull/27482/commits/a2bef805c11a4ab391f4ea635bfde7dd2ec9ce81 dergoegge: ACK a2bef805c11a4ab391f4ea635bfde7dd2ec9ce81 on the new mainnet params Tree-SHA512: 0b19c2ef15c6b15863d6a560a1053ee223057c7bfb617ffd3400b1734cee8f75bc6fd7f04d8f8e3f5af6220659a1987951a1b36945d6fe17d06972004fd62610
2023-04-20Merge bitcoin/bitcoin#26681: contrib: Bugfix for checking bad dns seeds ↵fanquake
without casting in `makeseeds.py` 3cc989da5c750e740705131bed05bbf93bfdf169 Fix checking bad dns seeds without casting (Yusuf Sahin HAMZA) Pull request description: - Since seed lines comes with `str` type, comparing `good` column directly with **0** (`int` type) in the if statement was not working at all. This is fixed by casting `int` type to the values in the `good` column of seeds text file. - Lines that starts with comment in the seeds text file are now ignored. - If statement for checking bad seeds are moved to the top of the `parseline` function as if a seed is bad; there is no point of going forward from there. Since this bug-fix eliminates bad seeds over **550k** in the first place, in my case; particular job for parsing all seeds speed is up by **600%** and whole script's speed is up by **%30**. Note that **stats** in the terminal are not going to include bad seeds after this fix, which would be the same if this bug were never there before. ACKs for top commit: achow101: ACK 3cc989da5c750e740705131bed05bbf93bfdf169 jonatack: ACK 3cc989da5c750e740705131bed05bbf93bfdf169 Tree-SHA512: 13c82681de4d72de07293f0b7f09721ad8514a2ad99b0584d1c94fa5f2818821df2000944f9514d6a222a5dccc82856d16c8c05aa36d905cfa7d4610c629fd38
2023-04-18doc: update references to kernel/chainparams.cppfanquake
2023-02-07Merge bitcoin/bitcoin#26701: contrib: make DNS seeds file an argument in CLI ↵MarcoFalke
(`makeseeds`) 1c07500dbb6b93510425c8bbdb320f2533efdb3d contrib: make DNS seeds file an argument in CLI (brunoerg) Pull request description: Instead of using `makeseeds.py` this way: ```sh python3 makeseeds.py -a asmap-filled.dat < seeds_main.txt > nodes_main.txt ``` We could use the DNS seeds file as an argument since it is a required one. It improves the way the script handles it when that file is missing as well as makes this script more friendly. E.g: ```sh python3 makeseeds.py -a asmap-filled.dat -s seeds_main.txt > nodes_main.txt ``` ACKs for top commit: vincenzopalazzo: ACK https://github.com/bitcoin/bitcoin/pull/26701/commits/1c07500dbb6b93510425c8bbdb320f2533efdb3d Tree-SHA512: bddf728d5d376659155f5bbeb1fa0d42aa273ec4a0cf5687f4d3f3be85625f541d392f30008e3c9d2c65967cb882deb36af34330994727771be73c9adeb521e0
2023-01-03script, test: fix python linter E275 errors with flake8 5.0.4Jon Atack
2022-12-19contrib: make DNS seeds file an argument in CLIbrunoerg
2022-12-10Fix checking bad dns seeds without castingYusuf Sahin HAMZA
Since seed lines comes with 'str' type, comparing it directly with 0 ('int' type) in the if statement was not working at all. This is fixed by casting 'int' type to the values in the 'good' column of seeds text file. Lines that starts with comment in the seeds text file are now ignored. If statement for checking bad seeds are moved to the top of the 'parseline' function as if seed is bad, there is no point of going forward from there.
2022-09-09Merge bitcoin/bitcoin#25853: net: update testnet torv3 hardcoded seeds for 24.xMacroFake
2ef33e936eaf1058086169b5833f196ff624bf89 contrib: update testnet torv3 hardcoded seeds (Jon Atack) Pull request description: As a follow-up to https://github.com/bitcoin/bitcoin/issues/13550 and #22060, replace the mostly unreachable testnet torv3 hardcoded seeds from v0.22 with new ones that are consistently reachable recently and that have service bit 1 set. This needs to be done before v24.0 to make sure onion-only testnet nodes can still connect to the network. Ways to test: - Re-generate `src/chainparamsseeds.h` with `cd contrib/seeds && python3 generate-seeds.py . > ../../src/chainparamsseeds.h`, check if git tree stays the same - Re-compile and create a new testnet node with `bitcoind -testnet -dnsseed=0 -onlynet=onion -proxy=127.0.0.1:9050` (or delete `~/.bitcoin/testnet3/peers.dat` and launch bitcoind with `-testnet -dnsseed=0`). Make sure there are no `addnode=` in your `bitcoin.conf`. The debug log should print "Adding fixed seeds". Check if the node is able to connect to the network and get blocks with for ex. `watch -t ./src/bitcoin-cli -testnet -rpcwait -netinfo 4` - Check the addrman contains the seeds by running for ex. `bitcoin-cli -rpcwait -testnet getnodeaddresses 0 onion | jq -r '.[] | (.address + ":" + (.port|tostring) + " " + (.services|tostring))' | sort` - Check if the addresses are connectable, for ex. with this python script by laanwj: ```python3 #!/usr/bin/env python3 import pprint import subprocess with open('contrib/seeds/nodes_test.txt') as f: for line in (line for line in (line.rstrip().split('#', 1)[0] for line in f) if line): pprint.pprint(line) subprocess.call(["nc", "-v", "-x", "127.0.0.1:9050", "-z"] + line.split(':')) ``` Thanks to satsie (Stacie Waleyko) for help with the list. ACKs for top commit: satsie: ACK 2ef33e936eaf1058086169b5833f196ff624bf89 laanwj: ACK 2ef33e936eaf1058086169b5833f196ff624bf89 Tree-SHA512: 72d27ecba243089bd49c11e921855fba626a1e09ae9b17508254a3bbec4bec341ed6c3d5a4eabc2d37f20bafb8a47ecc7d125e0dda956512a9525ad83273ffd6
2022-08-28contrib: update testnet torv3 hardcoded seedsJon Atack
- remove unreachable seeds - add reachable seeds having service bit 1 - update chainparamsseeds.h Co-authored-by: "Stacie <staciewaleyko@gmail.com>"
2022-08-24net: update hardcoded mainnet seeds for 24.xJon Atack
following the steps in contrib/seeds/README.md
2022-08-24contrib: make-seeds updates for 24.xJon Atack
2022-08-24net: update manual hardcoded mainnet seeds for 24.xJon Atack
torv3/i2p/cjdns seeds selected for reachability, uptime and service bit 1
2022-06-18doc: typo fixMarnix
2022-06-01contrib: Update makeseeds to asmap-nextgenlaanwj
2022-05-31contrib: add seeds progress indicator and remove asmap one in makeseeds scriptJon Atack
2022-05-31contrib: Use asmap for ASN lookup in makeseedslaanwj
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>
2022-04-15contrib: Remove suspicious hosts list from makeseedslaanwj
I have some qualms with maintaining a suspicious hosts list as part as the repository. But also, it's stale and irrelevant. I've checked the entire list and none of them is connectable. Only one still appars in `nodes_main.txt` but with low uptime and an old subversion string so it wouldn't be picked in the first place.
2022-04-14improve clarity and up max ipv6 ASNsBaas
2022-02-22net: Update hardcoded seeds for 23.xlaanwj
2022-02-22contrib: make-seeds updates for 23.xlaanwj
Documentation: - Use https URL for bitcoin.sipa.be (http sends a redirect, fooling curl). - Add explicit step to add manual seeds. Code: - Change PATTERN_ONION to v3 (effectively means that the no onion hosts are delivered). - Add versions to PATTERN_AGENT filter. - Print specific message on resolve exception.