Documentation ¶
Overview ¶
Package dnsdisc implements node discovery via DNS.
Index ¶
- func ParseURL(url string) (domain string, pubkey *ecdsa.PublicKey, err error)
- type Client
- type Config
- type Resolver
- type Tree
- func (t *Tree) Links() []string
- func (t *Tree) Nodes() []*enode.Node
- func (t *Tree) Seq() uint
- func (t *Tree) SetSignature(pubkey *ecdsa.PublicKey, signature string) error
- func (t *Tree) Sign(key *ecdsa.PrivateKey, domain string) (url string, err error)
- func (t *Tree) Signature() string
- func (t *Tree) ToTXT(domain string) map[string]string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client discovers nodes by querying DNS servers.
func (*Client) NewIterator ¶
NewIterator creates an iterator that visits all nodes at the given tree URLs.
type Config ¶
type Config struct { Timeout time.Duration // timeout used for DNS lookups (default 5s) RecheckInterval time.Duration // time between tree root update checks (default 30min) CacheLimit int // maximum number of cached records (default 1000) RateLimit float64 // maximum DNS requests / second (default 3) ValidSchemes enr.IdentityScheme // acceptable ENR identity schemes (default enode.ValidSchemes) Resolver Resolver // the DNS resolver to use (defaults to system DNS) Logger *log.Logger // destination of client log messages (defaults to root logger) }
Config holds configuration options for the client.
type Tree ¶
type Tree struct {
// contains filtered or unexported fields
}
Tree is a merkle tree of node records.
func (*Tree) SetSignature ¶
SetSignature verifies the given signature and assigns it as the tree's current signature if valid.
Click to show internal directories.
Click to hide internal directories.