dash/contrib/seeds
pasta 6bc60a7236
Merge #6151: chore: update seeds for v21 release
43c39537d8 chore: update seeds (Konstantin Akimov)
16dd04357b chore: added extra onion seeds (provided by pasta) (Konstantin Akimov)

Pull request description:

  ## Issue being fixed or feature implemented
  https://github.com/dashpay/dash/issues/6081

  ## What was done?
  Extra onion seeds are provided by pasta.

  ```sh
  dash-cli protx list valid 1 2110129 > protx_list.json

  # Make sure the onion seeds still work!
  while IFS= read -r line
  do
    address=$(echo $line | cut -d':' -f1)
    port=$(echo $line | cut -d':' -f2)
    nc -v -x 127.0.0.1:9050 -z $address $port
  done < "onion_seeds.txt"

  python3 makeseeds.py protx_list.json onion_seeds.txt > nodes_main.txt
  python3 generate-seeds.py . > ../../src/chainparamsseeds.h
  ```

  ## How Has This Been Tested?
  n/a

  ## Breaking Changes
  n/a

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [x] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone

ACKs for top commit:
  UdjinM6:
    utACK 43c39537d8
  PastaPastaPasta:
    utACK 43c39537d8

Tree-SHA512: 8583f030949c6b26b5410eaa4db4f9b85fbe14bc147083861519d9564ae1fff52716b2d8deb233d30ecfb679e778cb2bb2f0ef3dee392cff1986b004b03d9e1e
2024-07-24 14:20:21 -05:00
..
generate-seeds.py merge bitcoin#23077: Full CJDNS support 2024-05-29 18:07:44 +00:00
makeseeds.py fix: uninitialized variable onions in makeseeds script 2024-03-03 23:34:34 -06:00
nodes_main.txt Merge #6151: chore: update seeds for v21 release 2024-07-24 14:20:21 -05:00
nodes_test.txt
onion_seeds.txt Merge #6151: chore: update seeds for v21 release 2024-07-24 14:20:21 -05:00
README.md Merge #20288: script, doc: contrib/seeds updates 2024-04-03 14:11:34 +07:00
suspicious_hosts.txt Merge #17823: scripts: Read suspicious hosts from a file instead of hardcoding 2022-10-17 15:41:14 -05:00

Seeds

Utility to generate the seeds.txt list that is compiled into the client (see src/chainparamsseeds.h and other utilities in contrib/seeds).

The seeds compiled into the release are created from the current protx list, like this:

dash-cli protx list valid 1 2018966 > protx_list.json

# Make sure the onion seeds still work!
while IFS= read -r line
do
  address=$(echo $line | cut -d':' -f1)
  port=$(echo $line | cut -d':' -f2)
  nc -v -x 127.0.0.1:9050 -z $address $port
done < "onion_seeds.txt"

python3 makeseeds.py protx_list.json onion_seeds.txt > nodes_main.txt
python3 generate-seeds.py . > ../../src/chainparamsseeds.h

Make sure to use a recent block height in the "protx list" call. After updating, create a PR and specify which block height you used so that reviewers can re-run the same commands and verify that the list is as expected.

Dependencies

Ubuntu, Debian:

sudo apt-get install python3-dnspython

and/or for other operating systems:

pip3 install dnspython3

See https://dnspython.readthedocs.io/en/latest/installation.html for more information.