diff --git a/contrib/seeds/README.md b/contrib/seeds/README.md index 1f2279ede..7857ceb06 100644 --- a/contrib/seeds/README.md +++ b/contrib/seeds/README.md @@ -1,21 +1,25 @@ # Seeds Utility to generate the seeds.txt list that is compiled into the client (see [src/chainparamsseeds.h](/src/chainparamsseeds.h) and other utilities in [contrib/seeds](/contrib/seeds)). Be sure to update `PATTERN_AGENT` in `makeseeds.py` to include the current version, and remove old versions as necessary (at a minimum when GetDesireableServiceFlags 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 the `dnsseed.dump` output file of a +[Bitcoin ABC Seeder](/src/seeder) that has been running for at least 30 days. The scripts +below assume that the `dnsseed.dump` file from the mainnet seeder has been copied to +`seeds_main.txt` and the `dnsseed.dump` file from the testnet seeder has been copied to +`seeds_test.txt`. - curl -s http://bitcoin.sipa.be/seeds.txt > seeds_main.txt python3 makeseeds.py < seeds_main.txt > nodes_main.txt + python3 makeseeds.py < seeds_test.txt > nodes_test.txt python3 generate-seeds.py . > ../../src/chainparamsseeds.h ## Dependencies Ubuntu: sudo apt-get install python3-dnspython diff --git a/src/seeder/README.md b/src/seeder/README.md index abdf8f5c8..bc91bed15 100644 --- a/src/seeder/README.md +++ b/src/seeder/README.md @@ -1,53 +1,63 @@ bitcoin-seeder ============== Bitcoin-seeder is a crawler for the Bitcoin Cash network, which exposes a list of reliable nodes via a built-in DNS server. It is derived from Pieter Wuille's bitcoin-seeder, modified for use on the Bitcoin Cash network. Features: * regularly revisits known nodes to check their availability * bans nodes after enough failures, or bad behaviour * uses the Cash Magic when establishing connections. * keeps statistics over (exponential) windows of 2 hours, 8 hours, 1 day and 1 week, to base decisions on. * very low memory (a few tens of megabytes) and cpu requirements. * crawlers run in parallel (by default 24 threads simultaneously). REQUIREMENTS ------------ $ sudo apt-get install build-essential libboost-all-dev libssl-dev USAGE ----- Assuming you want to run a dns seed on dnsseed.example.com, you will need an authorative NS record in example.com's domain record, pointing to for example vps.example.com: $ dig -t NS dnsseed.example.com ;; ANSWER SECTION dnsseed.example.com. 86400 IN NS vps.example.com. On the system vps.example.com, you can now run dnsseed: ./bitcoin-seeder -h dnsseed.example.com -n vps.example.com If you want the DNS server to report SOA records, please provide an e-mail address (with the @ part replaced by .) using -m. RUNNING AS NON-ROOT ------------------- Typically, you'll need root privileges to listen to port 53 (name service). One solution is using an iptables rule (Linux only) to redirect it to a non-privileged port: $ iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-port 5353 If properly configured, this will allow you to run dnsseed in userspace, using the -p 5353 option. + +Generate Seed Lists +------------------- + +Bitcoin-seeder is also be used to generate the seed lists that are compiled +into every Bitcoin ABC release. It produces the `dnsseed.dump` files that are +used as inputs to the scripts in [contrib/seeds](/contrib/seeds) to generate +the seed lists. To generate seed lists, the seeder should be run continuously +for 30 days or more. +