leaderboard / weights.py
ChrisWilson's picture
Update weights.py
8365907 verified
raw
history blame
1.78 kB
import bittensor as bt
import json
subtensor = bt.subtensor(network = "ws://80.209.241.45:9944")
bt.logging.info("Connected to subtensor")
# stake = subtensor.get_stake(hotkey_ss58="")
def get_miner_uids(metagraph: bt.metagraph) -> list:
miner_uids = []
for i, axon in enumerate(metagraph.axons):
v_trust = metagraph.validator_trust[i].item()
if v_trust > 0.0:
continue
miner_uids.append((i, metagraph.incentive[i].item()))
# sort miner_uids by incentive
miner_uids = sorted(miner_uids, key=lambda x: x[1], reverse=True)
return miner_uids
def validator_info():
metagraph = subtensor.metagraph(netuid = 6)
all_weights = subtensor.weights(netuid=6)
axons = metagraph.axons
weight_list = []
for validator_uid, weights in all_weights:
total_weight = sum([weight for validator_uid, weight in weights])
validator_stake = metagraph.stake[validator_uid].item()
vtrust = metagraph.validator_trust[validator_uid].item()
temp_list = {}
for miner_uid, weight in weights:
# temp_list.append((miner_uid, weight/total_weight * validator_stake))
temp_list[miner_uid] = weight/total_weight
weight_list.append({'uid': validator_uid, 'miners_weight': temp_list, 'validator_stake': int(validator_stake), 'vtrust': vtrust})
# weight_list[validator_uid] = {'miners_weight': temp_list, 'validator_stake': validator_stake, 'vtrust': vtrust}
# Sort weight_list by validator_stake
weight_list = sorted(weight_list, key=lambda x: x['validator_stake'], reverse=True)
bt.logging.info(f"weights:{weight_list}")
miners = get_miner_uids(metagraph)
return weight_list, miners
# print(miners_sorted_by_incentive)