Weights
Storage Map v101 → v411 Changed in v411Weight matrix set by validators on a subnet .
Explore chainThe Big Picture
This is where validators record their judgments. Each validator sets weights on other neurons - higher weight means 'I think this neuron is doing good work.' These weights feed into Yuma Consensus to determine emissions. It's the core of Bittensor's incentive mechanism.
Why This Matters
Want to know why miner X is earning so much? Check what weights validators gave them. This storage is the raw input to consensus - understanding it reveals network dynamics.
Example Scenario
Query Weights(netuid=1, uid=5) returns [(12, 3500), (47, 2100), (8, 1800), ...]. Validator UID 5 gave weight 3500 to UID 12, 2100 to UID 47, etc. Higher values = more favorable scoring.
Common Questions
- What are the weight values?
- Weights are u16 values (0-65535) representing relative importance. They're normalized during consensus calculation.
- Do all neurons set weights?
- Only validators with ValidatorPermit can set weights. Miners typically don't set weights (or set empty weights).
Use Cases
- Understand how a validator is scoring miners
- Reconstruct the full weight matrix for analysis
- Debug why certain neurons receive emissions
- Build transparency tools showing validator behavior
From Chain Metadata
DMAP ( netuid, uid ) --> weights
Purpose & Usage
Purpose
Store validator judgments used for incentive calculation.
Common Query Patterns
- Query weights set by a specific UID
- Build weight matrix for consensus
Query Keys
Stored Value
Weight vector — list of (peer_uid, weight_u16) pairs
Relationships
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 Weights storage
const netuid = 1;
const uid = 0;
const result = await api.query.SubtensorModule.Weights.getValue(netuid, uid);
console.log("Weights:", result);On-Chain Activity
>10M estimated writes
#1 most written storage item
Modified by both user extrinsics and runtime hooks
As of block 7,429,232
Version History
Runtime Info
View Source- Pallet
- SubtensorModule
- Storage Kind
- Map
- First Version
- v101
- Current Version
- v411