Skip to content

A seeder that will go through the Neoxa Network and find active peers for syncing.

Notifications You must be signed in to change notification settings

NeoxaChain/neoxa-seeder

This branch is 1 commit ahead of HarveyNeoxa/neoxa-seeder:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6219ea8 · Mar 13, 2023
Mar 16, 2020
Mar 9, 2020
Mar 12, 2020
Mar 13, 2023
Mar 13, 2023
Mar 13, 2023
Mar 9, 2020
Mar 13, 2023
Mar 9, 2020
Mar 12, 2020
Mar 9, 2020
Mar 9, 2020
Mar 13, 2023
Mar 13, 2023
Mar 13, 2023
Mar 13, 2023
Mar 13, 2023
Mar 13, 2023
Mar 13, 2023
Mar 13, 2023
Mar 13, 2023
Mar 13, 2023
Mar 13, 2023
Mar 9, 2020
Mar 9, 2020

Repository files navigation

Neoxa Network DNS Seeder
==============

neoxacoin-seeder is a crawler for the Neoxa.net 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 behaviour
* accepts nodes down to v0.3.19 to request new IP addresses from,
  but only reports good post-v0.3.24 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 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:

./dnsseed -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.

COMPILING
---------
Compiling will require boost and ssl.  On debian systems, these are provided
by `libboost-dev` and `libssl-dev` respectively.

$ make

This will produce the `dnsseed` binary.


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.

// Copyright (c) 2009-2010 Satoshi Nakamoto
// Copyright (c) 2011 The Bitcoin developers
// Copyright (C) 2020 The Raven Core developers
// Copyright (C) 2023 The NEOXA Core developers

About

A seeder that will go through the Neoxa Network and find active peers for syncing.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 95.9%
  • C 2.3%
  • Perl 1.2%
  • Other 0.6%