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())) |