Skip to content

Commit 5112425

Browse files
authored
Merge pull request #2880 from opentensor/fix/roman/subtensor-api
Rename argument `fallback_chains` to `fallback_endpoints`
2 parents f39c77b + f65a706 commit 5112425

File tree

3 files changed

+42
-33
lines changed

3 files changed

+42
-33
lines changed

bittensor/core/async_subtensor.py

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -115,19 +115,19 @@ def __init__(
115115
network: Optional[str] = None,
116116
config: Optional["Config"] = None,
117117
log_verbose: bool = False,
118-
fallback_chains: Optional[list[str]] = None,
118+
fallback_endpoints: Optional[list[str]] = None,
119119
retry_forever: bool = False,
120120
_mock: bool = False,
121121
):
122122
"""
123123
Initializes an instance of the AsyncSubtensor class.
124124
125125
Arguments:
126-
network (str): The network name or type to connect to.
127-
config (Optional[Config]): Configuration object for the AsyncSubtensor instance.
128-
log_verbose (bool): Enables or disables verbose logging.
129-
fallback_chains (list): List of fallback chains endpoints to use if no network is specified. Defaults to `None`.
130-
retry_forever (bool): Whether to retry forever on connection errors. Defaults to `False`.
126+
network: The network name or type to connect to.
127+
config: Configuration object for the AsyncSubtensor instance.
128+
log_verbose: Enables or disables verbose logging.
129+
fallback_endpoints: List of fallback endpoints to use if default or provided network is not available. Defaults to `None`.
130+
retry_forever: Whether to retry forever on connection errors. Defaults to `False`.
131131
_mock: Whether this is a mock instance. Mainly just for use in testing.
132132
133133
Raises:
@@ -148,7 +148,9 @@ def __init__(
148148
f"chain_endpoint: [blue]{self.chain_endpoint}[/blue]..."
149149
)
150150
self.substrate = self._get_substrate(
151-
fallback_chains=fallback_chains, retry_forever=retry_forever, _mock=_mock
151+
fallback_endpoints=fallback_endpoints,
152+
retry_forever=retry_forever,
153+
_mock=_mock,
152154
)
153155
if self.log_verbose:
154156
logging.info(
@@ -284,24 +286,24 @@ async def get_hyperparameter(
284286

285287
def _get_substrate(
286288
self,
287-
fallback_chains: Optional[list[str]] = None,
289+
fallback_endpoints: Optional[list[str]] = None,
288290
retry_forever: bool = False,
289291
_mock: bool = False,
290292
) -> Union[AsyncSubstrateInterface, RetryAsyncSubstrate]:
291293
"""Creates the Substrate instance based on provided arguments.
292294
293295
Arguments:
294-
fallback_chains (list): List of fallback chains endpoints to use if no network is specified. Defaults to `None`.
295-
retry_forever (bool): Whether to retry forever on connection errors. Defaults to `False`.
296+
fallback_endpoints: List of fallback endpoints to use if default or provided network is not available. Defaults to `None`.
297+
retry_forever: Whether to retry forever on connection errors. Defaults to `False`.
296298
_mock: Whether this is a mock instance. Mainly just for use in testing.
297299
298300
Returns:
299301
the instance of the SubstrateInterface or RetrySyncSubstrate class.
300302
"""
301-
if fallback_chains or retry_forever:
303+
if fallback_endpoints or retry_forever:
302304
return RetryAsyncSubstrate(
303305
url=self.chain_endpoint,
304-
fallback_chains=fallback_chains,
306+
fallback_chains=fallback_endpoints,
305307
ss58_format=SS58_FORMAT,
306308
type_registry=TYPE_REGISTRY,
307309
retry_forever=retry_forever,

bittensor/core/subtensor.py

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -117,19 +117,19 @@ def __init__(
117117
network: Optional[str] = None,
118118
config: Optional["Config"] = None,
119119
log_verbose: bool = False,
120-
fallback_chains: Optional[list[str]] = None,
120+
fallback_endpoints: Optional[list[str]] = None,
121121
retry_forever: bool = False,
122122
_mock: bool = False,
123123
):
124124
"""
125125
Initializes an instance of the Subtensor class.
126126
127127
Arguments:
128-
network (str): The network name or type to connect to.
129-
config (Optional[Config]): Configuration object for the AsyncSubtensor instance.
130-
log_verbose (bool): Enables or disables verbose logging.
131-
fallback_chains (list): List of fallback chains endpoints to use if no network is specified. Defaults to `None`.
132-
retry_forever (bool): Whether to retry forever on connection errors. Defaults to `False`.
128+
network: The network name or type to connect to.
129+
config: Configuration object for the AsyncSubtensor instance.
130+
log_verbose: Enables or disables verbose logging.
131+
fallback_endpoints: List of fallback endpoints to use if default or provided network is not available. Defaults to `None`.
132+
retry_forever: Whether to retry forever on connection errors. Defaults to `False`.
133133
_mock: Whether this is a mock instance. Mainly just for use in testing.
134134
135135
Raises:
@@ -148,7 +148,9 @@ def __init__(
148148
f"chain_endpoint: [blue]{self.chain_endpoint}[/blue]> ..."
149149
)
150150
self.substrate = self._get_substrate(
151-
fallback_chains=fallback_chains, retry_forever=retry_forever, _mock=_mock
151+
fallback_endpoints=fallback_endpoints,
152+
retry_forever=retry_forever,
153+
_mock=_mock,
152154
)
153155
if self.log_verbose:
154156
logging.info(
@@ -167,28 +169,28 @@ def close(self):
167169

168170
def _get_substrate(
169171
self,
170-
fallback_chains: Optional[list[str]] = None,
172+
fallback_endpoints: Optional[list[str]] = None,
171173
retry_forever: bool = False,
172174
_mock: bool = False,
173175
) -> Union[SubstrateInterface, RetrySyncSubstrate]:
174176
"""Creates the Substrate instance based on provided arguments.
175177
176178
Arguments:
177-
fallback_chains (list): List of fallback chains endpoints to use if no network is specified. Defaults to `None`.
178-
retry_forever (bool): Whether to retry forever on connection errors. Defaults to `False`.
179+
fallback_endpoints: List of fallback chains endpoints to use if main network isn't available. Defaults to `None`.
180+
retry_forever: Whether to retry forever on connection errors. Defaults to `False`.
179181
_mock: Whether this is a mock instance. Mainly just for use in testing.
180182
181183
Returns:
182184
the instance of the SubstrateInterface or RetrySyncSubstrate class.
183185
"""
184-
if fallback_chains or retry_forever:
186+
if fallback_endpoints or retry_forever:
185187
return RetrySyncSubstrate(
186188
url=self.chain_endpoint,
187189
ss58_format=SS58_FORMAT,
188190
type_registry=TYPE_REGISTRY,
189191
use_remote_preset=True,
190192
chain_name="Bittensor",
191-
fallback_chains=fallback_chains,
193+
fallback_chains=fallback_endpoints,
192194
retry_forever=retry_forever,
193195
_mock=_mock,
194196
)

bittensor/core/subtensor_api/__init__.py

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ class SubtensorApi:
2525
network: The network to connect to. Defaults to `None` -> "finney".
2626
config: Bittensor configuration object. Defaults to `None`.
2727
legacy_methods: If `True`, all methods from the Subtensor class will be added to the root level of this class.
28-
fallback_chains (list): List of fallback chains to use if no network is specified. Defaults to `None`.
29-
retry_forever (bool): Whether to retry forever on connection errors. Defaults to `False`.
30-
log_verbose (bool): Enables or disables verbose logging.
28+
fallback_endpoints: List of fallback endpoints to use if default or provided network is not available. Defaults to `None`.
29+
retry_forever: Whether to retry forever on connection errors. Defaults to `False`.
30+
log_verbose: Enables or disables verbose logging.
3131
mock: Whether this is a mock instance. Mainly just for use in testing.
3232
3333
Example:
@@ -54,10 +54,15 @@ class SubtensorApi:
5454
subtensor = bt.SubtensorApi(legacy_methods=True)
5555
print(subtensor.bonds(0))
5656
57-
# using `fallback_chains` or `retry_forever`
57+
# using `fallback_endpoints` or `retry_forever`
5858
import bittensor as bt
5959
60-
60+
subtensor = bt.SubtensorApi(
61+
network="finney",
62+
fallback_endpoints=["wss://localhost:9945", "wss://some-other-endpoint:9945"],
63+
retry_forever=True,
64+
)
65+
print(subtensor.block)
6166
"""
6267

6368
def __init__(
@@ -66,13 +71,13 @@ def __init__(
6671
config: Optional["Config"] = None,
6772
async_subtensor: bool = False,
6873
legacy_methods: bool = False,
69-
fallback_chains: Optional[list[str]] = None,
74+
fallback_endpoints: Optional[list[str]] = None,
7075
retry_forever: bool = False,
7176
log_verbose: bool = False,
7277
mock: bool = False,
7378
):
7479
self.network = network
75-
self._fallback_chains = fallback_chains
80+
self._fallback_endpoints = fallback_endpoints
7681
self._retry_forever = retry_forever
7782
self._mock = mock
7883
self.log_verbose = log_verbose
@@ -111,7 +116,7 @@ def _get_subtensor(self) -> Union["_Subtensor", "_AsyncSubtensor"]:
111116
network=self.network,
112117
config=self._config,
113118
log_verbose=self.log_verbose,
114-
fallback_chains=self._fallback_chains,
119+
fallback_endpoints=self._fallback_endpoints,
115120
retry_forever=self._retry_forever,
116121
_mock=self._mock,
117122
)
@@ -122,7 +127,7 @@ def _get_subtensor(self) -> Union["_Subtensor", "_AsyncSubtensor"]:
122127
network=self.network,
123128
config=self._config,
124129
log_verbose=self.log_verbose,
125-
fallback_chains=self._fallback_chains,
130+
fallback_endpoints=self._fallback_endpoints,
126131
retry_forever=self._retry_forever,
127132
_mock=self._mock,
128133
)

0 commit comments

Comments
 (0)