129 Commits
Author SHA1 Message Date
fanquake 07fcc0a82c doc: update references to kernel/chainparams.cpp 2023-04-18 11:02:05 +01:00
MarcoFalke 5a80086ec2 Merge bitcoin/bitcoin#26701: contrib: make DNS seeds file an argument in CLI (makeseeds)
1c07500dbb 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-02-07 10:03:36 +01:00
Jon Atack 459cb637ac script, test: fix python linter E275 errors with flake8 5.0.4 2023-01-03 10:59:56 -08:00
brunoerg 1c07500dbb contrib: make DNS seeds file an argument in CLI 2022-12-19 07:20:14 -03:00
Yusuf Sahin HAMZA 3cc989da5c Fix checking bad dns seeds without casting
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-12-10 19:30:28 +03:00
MacroFake 19585eeb77 Merge bitcoin/bitcoin#25853: net: update testnet torv3 hardcoded seeds for 24.x
2ef33e936e 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 2ef33e936e
  laanwj:
    ACK 2ef33e936e

Tree-SHA512: 72d27ecba243089bd49c11e921855fba626a1e09ae9b17508254a3bbec4bec341ed6c3d5a4eabc2d37f20bafb8a47ecc7d125e0dda956512a9525ad83273ffd6
2022-09-09 10:07:39 +02:00
Jon Atackand"Stacie 2ef33e936e contrib: update testnet torv3 hardcoded seeds
- remove unreachable seeds
- add reachable seeds having service bit 1
- update chainparamsseeds.h

Co-authored-by: "Stacie <staciewaleyko@gmail.com>"
2022-08-28 14:34:49 +02:00
Jon Atack 9b6f5fafa9 net: update hardcoded mainnet seeds for 24.x
following the steps in contrib/seeds/README.md
2022-08-24 00:04:00 +02:00
Jon Atack 7fd9028017 contrib: make-seeds updates for 24.x 2022-08-24 00:00:53 +02:00
Jon Atack 6075a0be3c net: update manual hardcoded mainnet seeds for 24.x
torv3/i2p/cjdns seeds selected for reachability, uptime and service bit 1
2022-08-24 00:00:52 +02:00
Marnix 20c58a3e50 doc: typo fix 2022-06-18 18:34:50 +02:00
laanwj 667e316bcb contrib: Update makeseeds to asmap-nextgen 2022-06-01 14:40:04 +02:00
Jon Atack ae00b9e02c contrib: add seeds progress indicator and remove asmap one in makeseeds script 2022-05-31 11:57:49 +02:00
b54180303d 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>
2022-05-31 11:57:49 +02:00
laanwj 2f629f8089 contrib: Remove suspicious hosts list from makeseeds
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-15 14:12:15 +02:00
Baas c457fb144c improve clarity and up max ipv6 ASNs 2022-04-14 23:07:17 +02:00
laanwj d80dc12097 net: Update hardcoded seeds for 23.x 2022-02-22 15:15:27 +01:00
laanwj 9f27157894 contrib: make-seeds updates for 23.x
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.
2022-02-22 15:04:46 +01:00
Jon Atack bcc5676f16 p2p, contrib: update i2p hardcoded seeds
Remove unresponsive seeds, and add one that has been up for the past half year.
2022-01-26 12:58:23 +01:00
Jon Atack e5332425fc p2p, contrib: add cjdns hardcoded seeds 2022-01-26 12:58:12 +01:00
Vasil Dimov 420695c193 contrib: recognize CJDNS seeds as such
An IPv6 address from fc00::/8 could be either from the CJDNS network or
from a private-unroutable-reserved segment of IPv6. A seed node with
such an address must be from the CJDNS network, otherwise other peers
will not be able to connect to it.
2021-11-03 14:58:55 +01:00
Jon Atack 2962640c49 contrib, p2p: update I2P hardcoded seeds 2021-07-30 11:03:44 +02:00
Vasil Dimov aeac3bce3e net: change I2P seeds' ports to 0 2021-07-09 11:19:35 +02:00
Jon Atack 5d82a57db4 contrib: remove torv2 seed nodes 2021-06-03 14:04:06 +02:00
Jon Atack 5f7e086dac contrib: update generate-seeds.py to ignore torv2 addresses 2021-06-03 14:04:04 +02:00
Jon Atack 6fe0516858 contrib: add torv3 seed nodes for testnet, drop v2 ones 2021-05-25 16:07:56 +02:00
Jon Atack e01f173fb9 contrib: add a few I2P seed nodes 2021-05-02 13:37:48 +02:00
Jon Atack ea269c7ef1 contrib: parse I2P addresses in generate-seeds.py 2021-05-02 13:37:41 +02:00
W. J. van der Laan 9b29d5df7f contrib: Add explicit port numbers for testnet seeds
This is necessary now due to parsing change.
2021-04-05 14:00:48 +02:00
W. J. van der Laan 2a257de113 contrib: Add a few TorV3 seed nodes 2021-04-05 14:00:48 +02:00
W. J. van der Laan 06030f7a42 contrib: generate-seeds.py generates output in BIP155 format 2021-04-05 13:59:40 +02:00
Wladimir J. van der Laan cddcd22ab3 Merge #20288: script, doc: contrib/seeds updates
961f148cb1 doc: update contrib/seeds/README dnspython installation info (Jon Atack)
dd7b5f46d8 script: fix deprecation warning in makeseeds.py (Jon Atack)

Pull request description:

  Seen while reviewing #20237.

  1. Fix a deprecation warning in `contrib/seeds/makeseeds.py`
  ```
      makeseeds.py:139: DeprecationWarning: please use dns.resolver.resolve() instead
        asn = int([x.to_text() for x in dns.resolver.query('.'.join(
  ```
    - Per https://dnspython.readthedocs.io/en/latest/whatsnew.html, `dns.resolver.query()` was deprecated in `dnspython` version 2.0.0.

    - See https://dnspython.readthedocs.io/en/latest/resolver-class.html for more info on the resolver class.

  2. Update the `dnspython` dependency installation instructions in `contrib/seeds/README`

    - The markdown rendering can be seen here: https://github.com/jonatack/bitcoin/tree/contrib-seeds-fixups/contrib/seeds

ACKs for top commit:
  laanwj:
    code review ACK 961f148cb1

Tree-SHA512: f9c4f318a1a0d35b8de147d24b72c534a1f58eece31e7cfa00b4149a63b6a618d8ca0312f52fd8056f3c645cf2ee68574ca02319fddffdad919a70cd33395d33
2020-11-19 10:40:46 +01:00
Jon Atack 961f148cb1 doc: update contrib/seeds/README dnspython installation info 2020-11-02 20:54:59 +01:00
Jon Atack dd7b5f46d8 script: fix deprecation warning in makeseeds.py
makeseeds.py:139: DeprecationWarning: please use dns.resolver.resolve() instead
  asn = int([x.to_text() for x in dns.resolver.query('.'.join(

per https://dnspython.readthedocs.io/en/latest/whatsnew.html
dns.resolver.query() was deprecated in dnspython version 2.0.0
2020-11-02 20:54:57 +01:00
Wladimir J. van der Laan 6866259fab net: Hardcoded seeds update for 0.21
Stats:

```
  IPv4   IPv6  Onion Pass
426728  59523   7900 Initial
426728  59523   7900 Skip entries with invalid address
426728  59523   7900 After removing duplicates
426727  59523   7900 Skip entries from suspicious hosts
123226  51785   7787 Enforce minimal number of blocks
121710  51322   7586 Require service bit 1
  4706   1427   3749 Require minimum uptime
  4124   1098   3681 Require a known and recent user agent
  4033   1075   3681 Filter out hosts with multiple bitcoin ports
   512    140    512 Look up ASNs and limit results per ASN and per net
```
2020-10-25 14:25:00 +01:00
RandyMcMillan 36e875b4c5 contrib: Add new versions to makeseeds.py and update gitignore 2020-10-25 14:08:33 +01:00
MarcoFalke fa488f131f scripted-diff: Bump copyright headers
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-
2020-04-16 13:33:09 -04:00
Wladimir J. van der Laan 0eeb0468e7 net: Hardcoded seeds update for 0.20
Update hardcoded seeds from seeds_emzy.txt seeds_lukejr.txt
seeds_sipa.txt seeds_sjors.txt, according to release process.

Output from makeseeds.py:
```
  IPv4   IPv6  Onion Pass
1364173 244127   2454 Initial
1364173 244127   2454 Skip entries with invalid address
1129552 213117   2345 After removing duplicates
1129548 213117   2345 Skip entries from suspicious hosts
338216 191944   2249 Enforce minimal number of blocks
336851 188993   2189 Require service bit 1
  6998   1520    150 Require minimum uptime
  5682   1290     89 Require a known and recent user agent
  5622   1279     89 Filter out hosts with multiple bitcoin ports
   512    146     89 Look up ASNs and limit results per ASN and per net
```
2020-04-03 16:29:26 +02:00
Wladimir J. van der Laan 7e841f3f9b Merge #17823: scripts: Read suspicious hosts from a file instead of hardcoding
e1c582cbaa contrib: makeseeds: Read suspicious hosts from a file instead of hardcoding (Sanjay K)

Pull request description:

  referring to: https://github.com/bitcoin/bitcoin/issues/17020
  good first issue: reading SUSPICIOUS_HOSTS from a file.
  I haven't changed the base hosts that were included in the original source, just made it readable from a file.

ACKs for top commit:
  practicalswift:
    ACK e1c582cbaa -- diff looks correct

Tree-SHA512: 18684abc1c02cf52d63f6f6ecd98df01a9574a7c470524c37e152296504e2e3ffbabd6f3208214b62031512aeb809a6d37446af82c9f480ff14ce4c42c98e7c2
2020-01-20 20:24:38 +01:00
Sanjay K e1c582cbaa contrib: makeseeds: Read suspicious hosts from a file instead of hardcoding 2020-01-06 19:48:58 -05:00
MarcoFalke aaaaad6ac9 scripted-diff: Bump copyright of files changed in 2019
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-
2019-12-30 10:42:20 +13:00
Brian Solon 0b1dcd32bf contrib: fix minor typos in makeseeds.py
See #17020
2019-10-03 14:50:08 -04:00
Wladimir J. van der Laan 0218171a24 contrib: Remove invalid nodes from seeds list 2019-10-02 08:51:12 +02:00
Wladimir J. van der Laan 3b09f2b9d9 net: 0.19 hardcoded seeds update 2019-10-01 11:38:48 +02:00
Wladimir J. van der Laan 801d341f3a contrib: makeseeds: More fancy output 2019-10-01 11:39:41 +02:00
Wladimir J. van der Laan ed76299bea contrib: makeseeds: Limit per network, instead of total 2019-10-01 11:39:35 +02:00
Wladimir J. van der Laan c254a9ef69 contrib: makeseeds: dedup by ip,port
Handle the multiple ports per IP case (as that's a criterion later).
2019-10-01 11:39:29 +02:00
Wladimir J. van der Laan 3314d87966 contrib: makeseeds: Factor out ASN lookup 2019-10-01 11:39:14 +02:00
Wladimir J. van der Laan 301c2b1ab5 contrib: makeseeds: Improve logging and filtering
- Change regular expression to cover recent versions, as well as
  subversions with custom uacomment, and improve readability.
- Vary uptime requirements per network (onions are allowed to have less
  uptime, to make sure we get enough of them)
- Add deduplication step (to allow simple concatentation of multiple seeds files).
- Log of number of nodes (per network) after every step.
2019-10-01 11:38:48 +02:00
Ben Woosley b21680baf5 test/contrib: Fix invalid escapes in regex strings
Flagged by flake8 v3.6.0, as W605, plus a few others identified
incidentally, e.g. 59ffecf66cf4d08c4b431e457b083878d66a3fd6.

Note that r"\n" matches to "\n" under re.match/search.
2019-09-03 14:38:38 -04:00