CRV3WeightsCommitted

Event v216 → v247, v252 → v265, v273 → v277, v290 → v315, v320 → v326, v334 → v367, v372 → v377, v385 → v402, v411 → current Changed in v411 #83

Emitted when weights are committed using commit-reveal v3 protocol.

View events on chain
Useful for: validatorssubnet ownersdevelopersanalytics

The Big Picture

CRV3 (Commit-Reveal version 3) is an improved protocol for weight submission with enhanced security and timing features. Subnets using CRV3 require validators to use this specific commit mechanism. This event confirms your CRV3 commit was accepted - you're using the latest protocol and your weights are queued for reveal.

Why This Matters

If your subnet requires CRV3, you must use this commit mechanism - old-style commits won't work. This event confirms compatibility - your validator is speaking the right protocol. No event = your commit failed, likely due to protocol mismatch.

Example Scenario

Subnet 5 upgraded to CRV3 for improved security. Your validator software calls the CRV3 commit function with your weight hash. CRV3WeightsCommitted fires, confirming acceptance. You're set to reveal using the CRV3 reveal function when the reveal window opens.

Common Questions

What's different about CRV3 vs older commit-reveal?
CRV3 typically includes improvements like better timing synchronization, enhanced security against copying attacks, or new verification features. Check release notes for specifics.
How do I know if my subnet uses CRV3?
Check the subnet's commit-reveal version setting. If CRV3 is required and you try old-style commits, they'll be rejected.
Can I use CRV3 on subnets that don't require it?
Depends on the runtime. Some subnets accept multiple versions, others require specific versions. Check your subnet's configuration.

Use Cases

  • Confirm CRV3 weight commits are accepted
  • Track validators using the latest commit-reveal protocol
  • Monitor CRV3 adoption across subnets
  • Build validator software supporting CRV3

How to Use This Event

  • Monitor CRV3 commits for your validator
  • Track CRV3 protocol usage network-wide
  • Build CRV3-compatible validator tools

From Chain Metadata

Commit-reveal v3 weights have been successfully committed. **who**: The account ID of the user committing the weights. **netuid**: The network identifier. **commit_hash**: The hash representing the committed weights.

Triggers

Effects

Postconditions

  • CRV3 commit stored
  • Commit timestamp recorded

Side Effects

  • Must reveal using CRV3 reveal mechanism

Event Data

#NameTypeDescription
0
arg0
→ account
AccountId Account address (32 bytes, SS58-encoded) (hex -> SS58)
1
arg1
→ netuid_storage_index
u16 NetUidStorageIndexStorage-index variant of subnet ID (used in storage layout)
2
arg2
→ h256
H256 32-byte hash (Ethereum-compatible)

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

// Subscribe to CRV3WeightsCommitted events
client.finalizedBlock$.subscribe(async (block) => {
  const events = await api.event.SubtensorModule.CRV3WeightsCommitted.get(block.hash);
  for (const evt of events) {
    console.log("CRV3WeightsCommitted:", evt.payload);
  }
});

On-Chain Activity

Emission Frequency
●●●●○○ Significant 1M–5M emissions

Major features with millions of emissions

#11 most emitted event

As of block 7,429,232

Version History

v216 block 4,510,996 3 args
v252 block 5,163,656 3 args
v273 block 5,659,032 3 args
v290 block 5,947,548 3 args
v320 block 6,523,566 3 args
v334 block 6,811,690 3 args
v372 block 7,430,358 3 args
v385 block 7,782,670 3 args
v411 block 8,283,784 3 args Current

Runtime Info

View Source
Pallet Index
7
Event Index
83
First Version
v216
Current Version
v411