3.5 Scoring Version Control
All validators must run the same scoring version to produce consistent weights.
Version Signal
# validator/config.py
SCORING_VERSION = "1.0.0"
__spec_version__ = 10000 # 1*10000 + 0*100 + 0
# validator/base.py
axon = bt.Axon(
wallet=wallet,
config=config,
port=port,
external_ip=bt.utils.networking.get_external_ip(),
info=bt.AxonInfo(
version = __spec_version__, # int, SDK-compatible
description = f"cswon-scoring:{SCORING_VERSION}", # human-readable
),
)
Detection: parse metagraph.axons[uid].version (integer) and .description (string).
Upgrade Protocol
Requires ≥67% validator stake-weighted consensus:
- New version PR merged with ≥3 validator sign-offs
- Owner announces upgrade block height (minimum 2 tempos notice)
- All validators upgrade before announced block
- At upgrade block,
SCORING_VERSIONis bumped - Old-version validators flagged as outliers by Yuma bonds
There is no forced upgrade mechanism — this is a social coordination protocol enforced through economic pressure.
Navigation
| ← Previous | 3.4 Anti-Gaming Mechanisms |
| → Next | 4.1 Registration & Requirements |
| Index | Documentation Index |