Spaces:
Runtime error
Runtime error
import bittensor as bt | |
import requests | |
import json | |
subtensor = bt.subtensor() | |
metagraph = bt.metagraph(netuid=36) | |
#print(metagraph.axons) | |
#print(metagraph.validator_permit[48]) | |
def get_validator_ids(): | |
return [i for i in range(len(metagraph.validator_permit)) if metagraph.validator_permit[i]] | |
def get_validator_axons(list): | |
return [metagraph.axons[uid].ip_str().split('/')[-1] for uid in list] | |
#print(get_validator_axons(get_validator_ids())) | |
response = requests.get('http://' + metagraph.axons[178].ip_str().split('/')[-1] + '/step') | |
response.raise_for_status() | |
print(response.json()) | |
def get_validator_bits(validator_ids, timeout=5, retries=3): | |
results = [] | |
for uid in validator_ids: | |
for attempt in range(retries): | |
try: | |
ip = metagraph.axons[uid].ip_str().split('/')[-1] | |
response = requests.get(f'http://{ip}/step', timeout=timeout) | |
response.raise_for_status() | |
results.append(response.json()) | |
break # Success, exit retry loop | |
except requests.exceptions.RequestException as e: | |
if attempt == retries - 1: # Last attempt | |
print(f"Failed to get bits from validator {uid} after {retries} attempts: {str(e)}") | |
continue | |
return results | |
#print(get_validator_bits(get_validator_ids())) |