alex n
added data veridication
c16ebf6
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()))