sudo_set_difficulty

Call v138 → v277, v290 → current #24

Directly sets the POW difficulty for a subnet .

View calls on chain

Click items to navigate. Pan and zoom to explore.

Used by: subnet owners

The Big Picture

Manually sets difficulty, bypassing the automatic adjustment. Use sparingly - automatic adjustment is usually better.

Use Cases

  • Emergency difficulty correction
  • Initial difficulty setting

From Chain Metadata

The extrinsic sets the difficulty for a subnet. It is only callable by the root account or subnet owner. The extrinsic will call the Subtensor pallet to set the difficulty.

Input Parameters

#NameTypeDescription
0
netuid
u16 NetUidnetuid: Subnet ID (u16, 0-65535)
1
difficulty
u64 difficulty (u64)

Permissions

Origin
Root
Required Role

Requirements

  • Caller is root or subnet owner
  • Subnet exists

Effects

Storage Modified

Postconditions

  • Difficulty updated directly

Side Effects

  • Overrides automatic difficulty adjustment

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

// Build sudo_set_difficulty call (typed, named args)
const netuid = 1;
const difficulty = 0n;

const tx = api.tx.AdminUtils.sudo_set_difficulty({
  netuid,
  difficulty,
});

Version History

v138 block 1,907,363 2 args
v290 block 5,947,548 2 args Current

Runtime Info

View Source
Pallet Index
19
Call Index
24
First Version
v138
Current Version
v411