Skip to content

Resolver (Class)

A resolver for discovering Kaspa RPC node endpoints.

Resolvers help clients find available nodes on a network by querying a list of known resolver URLs. Useful for automatic node discovery and load balancing.

__new__

__new__(urls: Optional[Sequence[str]] = None, tls: Optional[bool] = None) -> Resolver

Create a new resolver.

PARAMETER DESCRIPTION
urls

Optional list of resolver URLs. Uses defaults if not provided.

TYPE: Optional[Sequence[str]] DEFAULT: None

tls

Use TLS connections (default: False).

TYPE: Optional[bool] DEFAULT: None

RETURNS DESCRIPTION
Resolver

A new Resolver instance.

TYPE: Resolver

get_node

get_node(encoding: str | Encoding, network_id: NetworkId) -> dict

Get a node descriptor from the resolver (async).

PARAMETER DESCRIPTION
encoding

RPC encoding - either a string ("borsh" or "json") or an Encoding enum variant.

TYPE: str | Encoding

network_id

The network to find a node for.

TYPE: NetworkId

RETURNS DESCRIPTION
dict

Node descriptor with connection details.

TYPE: dict

RAISES DESCRIPTION
Exception

If no node is available or resolution fails.

get_url

get_url(encoding: str | Encoding, network_id: NetworkId) -> str

Get a node URL from the resolver (async).

PARAMETER DESCRIPTION
encoding

RPC encoding - either a string ("borsh" or "json") or an Encoding enum variant.

TYPE: str | Encoding

network_id

The network to find a node for.

TYPE: NetworkId

RETURNS DESCRIPTION
str

The node WebSocket URL.

TYPE: str

RAISES DESCRIPTION
Exception

If no node is available or resolution fails.

urls

urls() -> list[str]

Get the list of resolver URLs.

RETURNS DESCRIPTION
list[str]

list[str]: The resolver URL list.