VotingPower

Storage Map v385 → v411

--- DMAP ( netuid , hotkey ) --> voting_power | EMA of stake for voting

Explore chain

From Chain Metadata

DMAP ( netuid, hotkey ) --> voting_power | EMA of stake for voting This tracks stake EMA updated every epoch when VotingPowerTrackingEnabled is true. Used by smart contracts to determine validator voting power for subnet governance.

Purpose & Usage

Purpose

This tracks stake EMA updated every epoch when VotingPowerTrackingEnabled is true.

Common Query Patterns

  • Query by key
  • Iterate all entries

Query Keys

#NameTypeDescription
1
netuid
u16 netuid (u16, hashed key component)
2
hotkey
AccountId hotkey (AccountId, hashed key component) (hex -> SS58)

Stored Value

voting_power (u64)

RAO -> TAO (/ 10^9)

Code Examples

import { createClient, Binary } from "polkadot-api";
import { getWsProvider } from "polkadot-api/ws";
import { sub } from "@polkadot-api/descriptors"; // generated by: npx papi add sub -w wss://entrypoint-finney.opentensor.ai:443

const client = createClient(getWsProvider("wss://entrypoint-finney.opentensor.ai:443"));
const api = client.getTypedApi(sub);

// Query VotingPower storage
const netuid = 1;
const hotkey = "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";

const result = await api.query.SubtensorModule.VotingPower.getValue(netuid, hotkey);
console.log("VotingPower:", result);

Version History

v385 block 7,782,670 Added
v386–v390 · runtime versions skipped on chain (never deployed)
v391 block 7,782,857 Internal re-bind
v394–v400 · runtime versions skipped on chain (never deployed)
v401 block 8,036,576 Internal re-bind Current

Runtime Info

View Source
Pallet
SubtensorModule
Storage Kind
Map
First Version
v385
Current Version
v411