bittensor.utils.networking#

Utils for handling local network with ip and ports.

Exceptions#

ExternalIPNotFound

Raised if we cannot attain your external ip from CURL/URLLIB/IPIFY/AWS

Functions#

get_external_ip()

Checks CURL/URLLIB/IPIFY/AWS for your external ip.

get_formatted_ws_endpoint_url(endpoint_url)

Returns a formatted websocket endpoint url.

int_to_ip(int_val)

Maps an integer to a unique ip-string

ip__str__(ip_type, ip_str, port)

Return a formatted ip string

ip_to_int(str_val)

Maps an ip-string to a unique integer.

ip_version(str_val)

Returns the ip version (IPV4 or IPV6).

Module Contents#

exception bittensor.utils.networking.ExternalIPNotFound#

Bases: Exception

Raised if we cannot attain your external ip from CURL/URLLIB/IPIFY/AWS

Initialize self. See help(type(self)) for accurate signature.

bittensor.utils.networking.get_external_ip()#

Checks CURL/URLLIB/IPIFY/AWS for your external ip.

Returns:

Your routers external facing ip as a string.

Return type:

external_ip (str)

Raises:

ExternalIPNotFound(Exception) – Raised if all external ip attempts fail.

bittensor.utils.networking.get_formatted_ws_endpoint_url(endpoint_url)#

Returns a formatted websocket endpoint url.

Parameters:

endpoint_url (Optional[str]) – The endpoint url to format.

Returns:

The formatted endpoint url. In the form of ws://<endpoint_url> or

wss://<endpoint_url>

Return type:

formatted_endpoint_url (Optional[str])

Note: The port (or lack thereof) is left unchanged.

bittensor.utils.networking.int_to_ip(int_val)#

Maps an integer to a unique ip-string

Parameters:

int_val (int) – The integer representation of an ip. Must be in the range (0, 3.4028237e+38).

Returns:

The string representation of an ip. Of form ..*.* for ipv4 or :::::* for ipv6

Return type:

str_val (str)

bittensor.utils.networking.ip__str__(ip_type, ip_str, port)#

Return a formatted ip string

Parameters:
bittensor.utils.networking.ip_to_int(str_val)#

Maps an ip-string to a unique integer.

Parameters:

str_val (str) – The string representation of an ip. Of form ..*.* for ipv4 or :::::* for ipv6

Returns:

The integer representation of an ip. Must be in the range (0, 3.4028237e+38).

Return type:

int_val (int)

bittensor.utils.networking.ip_version(str_val)#

Returns the ip version (IPV4 or IPV6).

Parameters:

str_val (str) – The string representation of an ip. Of form ..*.* for ipv4 or :::::* for ipv6

Returns:

The ip version (Either 4 or 6 for IPv4/IPv6)

Return type:

int_val (int)