Skip to content
Configurable DNS seeder for crypto currency networks.
Branch: master
Clone or download
Pull request Compare This branch is 12 commits ahead, 2 commits behind peercoin:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config
.dockerignore
.gitignore
Dockerfile
Makefile
README
bitcoin.cpp
bitcoin.h
compat.h
db.cpp
db.h
dns.c
dns.h
main.cpp
netbase.cpp
netbase.h
protocol.cpp
protocol.h
serialize.h
strlcpy.h
uint256.h
util.cpp
util.h

README

# primecoin-seeder

primecoin-seeder is a crawler for the Primecoin network, which exposes a list
of reliable nodes via a built-in DNS server.

Features:
* regularly revisits known nodes to check their availability
* bans nodes after enough failures, or bad behavior
* accepts nodes down to v0.5.4 to request new IP addresses from,
  but only reports good post-v0.5.4 nodes.
* 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 96 threads simultaneously).

Dependencies & building on Ubuntu Linux:

sudo apt install libboost-all-dev libssl-dev
make

## 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:

./dnsseed -h dnsseed.example.com -n vps.example.com

If you want the DNS server to report SOA records, please provide an
e-mailadres (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 setcap (Linux only) to give the executable permission
to use a privileged port:

sudo setcap 'cap_net_bind_service=+ep' ./dnsseed
You can’t perform that action at this time.