dcrseeder is a crawler for the Decred network, which exposes a list of reliable nodes via a built-in HTTP server.
When dcrseeder is started for the first time, it will connect to the dcrd node
specified in config, send a getaddrs
request, expecting an addr
message response. This message contains hostnames and IPs of peers known by the
node. dcrseeder will then connect to each of these peers, send a getaddrs
request, and will continue traversing the network in this fashion. dcrseeder
maintains a list of all known peers and periodically checks that they are
online and available. The list is stored on disk in a json file, so on
subsequent start ups the dcrd node specified in config does not need to be
online.
When dcrseeder is queried for node information, it responds with details of a random selection of the reliable nodes it knows about.
Go 1.20 or newer.
To build and install from a checked-out repo, run go install
in the repo's
root directory.
To start dcrseeder listening on localhost:8000 with an initial connection to working testnet node 192.168.0.1:
$ ./dcrseeder --testnet.enabled --testnet.seeder 192.168.0.1 --testnet.listen=localhost:8000
You will then need to redirect HTTPS traffic on your public IP to localhost:8000
An example configuration file lists the full set of options available.
The integrated github issue tracker is used for this project.
dcrseeder is licensed under the copyfree ISC License.