Documentation
¶
Index ¶
Constants ¶
const FederationResponseMaxSize = 100 * 1024
FederationResponseMaxSize is the maximum size of response from a federation server
Variables ¶
var DefaultPublicNetClient = &Client{ HTTP: http.DefaultClient, Millennium: hc.DefaultPublicNetClient, AiBlocksTOML: aiblockstoml.DefaultClient, }
DefaultPublicNetClient is a default federation client for pubnet
var DefaultTestNetClient = &Client{ HTTP: http.DefaultClient, Millennium: hc.DefaultTestNetClient, AiBlocksTOML: aiblockstoml.DefaultClient, }
DefaultTestNetClient is a default federation client for testnet
Functions ¶
This section is empty.
Types ¶
type AiBlocksTOML ¶
type AiBlocksTOML interface {
GetAiBlocksToml(domain string) (*aiblockstoml.Response, error)
}
AiBlocksTOML represents a client that can resolve a given domain name to aiblocks.toml file. The response is used to find the federation server that a query should be made against.
type Client ¶
type Client struct { AiBlocksTOML AiBlocksTOML HTTP HTTP Millennium Millennium AllowHTTP bool }
Client represents a client that is capable of resolving a federation request using the internet.
func (*Client) ForwardRequest ¶
ForwardRequest performs a federated lookup following to the aiblocks federation protocol using the "forward" type request.
func (*Client) LookupByAccountID ¶
func (c *Client) LookupByAccountID(aid string) (*proto.IDResponse, error)
LookupByAccountID performs a federated lookup following to the aiblocks federation protocol using the "id" type request. The provided strkey-encoded account id is used to resolve what server the request should be made against.
func (*Client) LookupByAddress ¶
func (c *Client) LookupByAddress(addy string) (*proto.NameResponse, error)
LookupByAddress performs a federated lookup following to the aiblocks federation protocol using the "name" type request. The provided address is used to resolve what server the request should be made against. NOTE: the "name" type is a legacy holdover from the legacy aiblocks network's federation protocol. It is unfortunate.
type ClientInterface ¶
type ClientInterface interface { LookupByAddress(addy string) (*proto.NameResponse, error) LookupByAccountID(aid string) (*proto.IDResponse, error) ForwardRequest(domain string, fields url.Values) (*proto.NameResponse, error) }
type Millennium ¶
Millennium represents a millennium client that can be consulted for data when needed as part of the federation protocol