Giter Club home page Giter Club logo

dcrseeder's Issues

Add IP sanity checks

IP addresses that are not publically routable should be ignored and never added to the cache.

display statistics

perhaps a configuration option to display statistics every specified unit of time.

number of live nodes grouped by services
total number of live nodes:
number of IPs that still need checking:
number of dns lookups

etc...

Pruning

Need to remove addresses from the cache that have never worked or haven't worked in some specified duration.

ipv6 support

when exec dcrseeder -n seedserver.xxx.xxx -H mainnet-seed.xxx.xxx -l 2001:ac8:40:xxxx::xxxx:xxxx:53 -s 2001:ac8:40:xxxx::xxxx:xxxx
got a problem ResolveUDPAddr: address 2001:ac8:40:xxxx::xxxx:xxxx:53: no suitable address found
So now only support IPv4?

single process should be able to crawl and resolve multiple networks

Ideally a single dcrseeder process should be able to crawl both mainnet and testnet:

  • Specify one or two hostnames (one or both of mainnet and testnet)
  • Crawl one or both networks simultaneously
  • Launch a single DNS server that resolves one or more host names (two in the case of mainnet and testnet)

e.g.

  • Name server: ns.blah.org
  • Testnet host name: testnet-seed.blah.org (with NS record pointing to ns.blah.org)
  • Mainnet host name: mainnet-seed.blah.org (with NS record also pointing to ns.blah.org)

Full working node requirement

It has been a long time since I've looked at the old seeder code but I know that it did not require using a running node for it to run. It would be best if this seeder could do the same.

I do remember that the old seeder had a hardcoded list of all the other seeders:
https://github.com/decred/decred-seeder/blob/19351f3e3ec93b96ca3438c465c04163747d0c5c/main.cpp#L400
Did it use that to get the initial node list (assuming at least one of those must be up and possibly serving a static list of 'good' nodes, at least during the initial network bringup?

Regardless of the exact method, require a full node is a lot to ask for running a seeder (which is otherwise a very light task).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.