Go to file
George Tankersley 16d803bb86 zcash: fix retry logic
Previously, when a request timed out, that peer would not be removed
from the pending handshake signal map. Since the peer was still in the
map, any attempt to reconnect would fail since it would look like we
were already waiting on a response.
2020-06-09 11:39:09 -04:00
dnsseed zcash: recursively ask new peers for their address book 2020-05-29 17:46:05 -04:00
zcash zcash: fix retry logic 2020-06-09 11:39:09 -04:00
LICENSE-APACHE README: update instructions and license information 2020-05-29 17:55:06 -04:00
LICENSE-MIT README: update instructions and license information 2020-05-29 17:55:06 -04:00
README.md README: update instructions and license information 2020-05-29 17:55:06 -04:00
go.mod module: reinitialize module for functional Zcash Foundation namespace 2020-05-19 21:45:45 -04:00
go.sum Release v0.1.0 2020-06-01 13:51:32 -04:00

README.md

Zcash DNS seeder

This is a CoreDNS plugin that scrapes addresses of peers from a Zcash network. It's intended as a safer, more configurable, and more scalable replacement for the zcash-seeder project.

It's written in Go and uses btcsuite for low-level networking.

Build instructions

This code cannot be used independently of CoreDNS. See coredns-zcash for instructions.

CoreDNS configuration

A sample Corefile that configures seeders on a domain for each network, using two local Zcash nodes for bootstrap:

mainnet.seeder.example.com {
    dnsseed {
        network mainnet
        bootstrap_peers 127.0.0.1:8233
        crawl_interval 30m
        record_ttl 600
    }
}

testnet.seeder.example.com {
    dnsseed {
        network testnet
        bootstrap_peers 127.0.0.1:18233
        crawl_interval 15m
        record_ttl 300
    }
}

# Returns 200 OK on .:8080/health
. {
    health :8080
}

License

The seeder is dual-licensed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT.