Upper limit on registration difficulty .
Current Value
4611686018427387903Relevant for: minersvalidatorssubnet ownersdevelopers
The Big Picture
Difficulty adjusts with demand, but this constant caps how high it can go. Without a ceiling, extremely popular subnets could have astronomical difficulty, making POW registration practically impossible (days or weeks of computation). The cap ensures POW remains a viable registration path even on popular subnets.
Why This Matters
This tells you the worst-case POW difficulty. Even on the most popular subnet, difficulty won't exceed this. You can calculate maximum registration time.
Example
If MaxDifficulty is 10^12, that's the hardest POW can get. A GPU doing 100M hashes/second would take ~10,000 seconds (~2.7 hours) worst case. If burn is 10 TAO and you value your time, you might choose burn.
Common Questions
- What happens if demand would push difficulty above max?
- Difficulty stays at max. More people attempting registration means more competition for slots, but each individual's POW time is capped.
- Can subnet owners lower the max difficulty?
- Yes, within network limits. Lower max makes POW more accessible but may increase registration spam.
Use Cases
- POW registration
- Difficulty limits
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 InitialMaxDifficulty constant
const value = await api.constants.SubtensorModule.InitialMaxDifficulty();
console.log("InitialMaxDifficulty:", value);
// Balance: divide by 10^9 for TAO
const tao = value / 1_000_000_000n;Type Information
- Type
- u64
- Byte Size
- 8 bytes
- Encoding
- fixed
- Raw Hex
- 0xffffffffffffff3f
Runtime Info
- Pallet
- SubtensorModule
- First Version
- v101
- Latest Version
- v101
- Current Runtime
- v411