Categorygithub.com/nknorg/dns-resolver-go
modulepackage
0.0.0-20230404043755-e50d32d9043a
Repository: https://github.com/nknorg/dns-resolver-go.git
Documentation: pkg.go.dev

# README

dns-resolver-go

Usage

Address in a dns TXT record, like this:

_nkn.foo.com TXT nkn=123abc

For example:

$ dig TXT _nkn.foo.com
_nkn.foo.com. 120 IN TXT nkn=123abc

  • Add Resolver, DNS record to NKN address
account, err := NewAccount(nil)
dnsResolver, err := dnsresolver.NewResolver(nil)
if err != nil {
    return err
}

conf := &nkn.ClientConfig{
    Resolvers: nkngomobile.NewResolverArray(dnsResolver),
}
client, err := NewMultiClient(account, "identifier", 3, true, conf)
client.Send(nkn.NewStringArray("DNS:foo.com"), "Hello world.", nil)

Use custom username

Address in a dns TXT record use custom username, like this:

_nkn.user1.foo.com TXT user1@nkn=abc...def
_nkn.user2.foo.com TXT user2@nkn=abc...def

client.Send(nkn.NewStringArray("DNS:[email protected]"), "Hello world.", nil)
client.Send(nkn.NewStringArray("DNS:[email protected]"), "Hello world.", nil)

# Functions

GetDefaultConfig returns the default Resolver config with nil pointer fields set to default.
No description provided by the author
MergeConfig merges a given Resolver config with the default Resolver config recursively.
NewResolver creates a Resolver.
ParseTXT parses a TXT record value.

# Constants

DNS_PREFIX domain prefix.
PREFIX Protocol prefix.
TXT_PREFIX TXT record parameter name.

# Variables

DefaultConfig is the default Resolver config.
ErrInvalidAddress is returned when a string representing an address is not actually a valid address.
ErrInvalidRecord is returned when the nkn entry in a TXT record does not follow the proper nkn format ("nkn=<path>").
ErrResolveFailed is returned when a resolution failed, most likely due to a network error.

# Structs

Config is the Resolver configuration.
Resolver implement ETH resolver.