Controls how unsigned pulse submissions are prioritized relative to other transactions.
Current Value
1048576The Big Picture
When multiple transactions compete for block inclusion, priority determines winners. This constant sets the base priority for Drand pulse submissions. If it's too low, pulses might be delayed during congestion. If too high, they could starve other important transactions.
Why This Matters
Infrastructure transactions need appropriate priority. Drand pulses are important for randomness availability but shouldn't dominate the block. This value balances urgency against fairness.
Example
UnsignedPriority is 0x0000100000000000. Unsigned pulse transactions start with this base priority. If congested, they'll be included based on this relative to other transactions' priorities.
Common Questions
- Can I change this priority?
- No - it's a runtime constant. To modify, a runtime upgrade is required. The value is chosen to balance infrastructure needs with overall transaction fairness.
- What if pulses aren't getting included?
- Check network congestion. During extreme congestion, even infrastructure transactions may wait. Consider signed submission (pays fees) for guaranteed priority.
From Chain Metadata
A configuration for base priority of unsigned transactions. This is exposed so that it can be tuned for particular runtime, when multiple pallets send unsigned transactions.
Use Cases
- Transaction pool priority calculation
- Ensure pulse submissions aren't starved by other transactions
- Tune offchain worker transaction inclusion
Code Examples
import { ApiPromise, WsProvider } from "@polkadot/api";
import { stringCamelCase } from "@polkadot/util";
const provider = new WsProvider("wss://entrypoint-finney.opentensor.ai:443");
const api = await ApiPromise.create({ provider });
// Query UnsignedPriority constant
const value = api.consts[stringCamelCase("Drand")][stringCamelCase("UnsignedPriority")];
console.log("UnsignedPriority:", value.toHuman());
// Convert RAO to TAO if this is a balance value
const taoValue = value.toBigInt() / BigInt(1e9);
console.log("TAO:", taoValue.toString());Type Information
- Type
- u64
- Byte Size
- 8 bytes
- Encoding
- fixed
- Raw Hex
- 0x0000100000000000
Runtime Info
- Pallet
- Drand
- First Version
- v216
- Latest Version
- v216
- Current Runtime
- v393