SettingWeightsTooFast
Error Re-added v101 → v117, v118 → v120, v121 → v127, v133 → v141, v142 → v148, v149 → v150, v151 → v212, v216 → v219, v233 → v315, v320 → current 7.28You're setting weights more frequently than the rate limit allows.
Why This Error Exists
Rate limits prevent spam and ensure fair access to weight-setting. Each validator can only update weights once per rate limit window. This protects the network from being flooded with weight updates and ensures all validators get a fair chance.
Deep Dive
The rate limit is measured in blocks. If WeightsSetRateLimit is 100, you must wait 100 blocks between weight updates. Your last update block is stored in LastUpdate. current_block - last_update must be >= rate_limit.
Debugging Example
You set weights at block 1000. Rate limit is 100 blocks. You try again at block 1050. Error: SettingWeightsTooFast. You need to wait until block 1100 (1000 + 100).
Prevention Tips
- Track your last update block
- Build rate limit checking into your validator code
- Set weights at predictable intervals that respect the limit
From Chain Metadata
A transactor exceeded the rate limit for setting weights.
What This Means
You're setting weights more frequently than the rate limit allows.
Common Causes
- Called set_weights too soon after previous call
- Rate limit is per-hotkey, per-subnet
- Didn't wait enough blocks between updates
How to Fix
- Check SubtensorModule.LastUpdate for your last update block
- Check SubtensorModule.WeightsSetRateLimit for the limit
- Wait the required number of blocks before retrying
Storage to Check
Thrown By
Version History
Runtime Info
- Pallet Index
- 7
- Error Index
- 28
- Error Code
- 7.28
- Runtime Version
- v393