src/platform_network/config/settings.py:12). It does not
score work in isolation. The master computes the final weight vector from each
challenge, and the validator’s job is to fetch that vector and submit it
on-chain with its hotkey.
What a validator runs
Theplatform validator run command starts two concurrent loops
(src/platform_network/cli_app/main.py:821-831):
Registry reconcile loop
Fetches the challenge registry and starts the active challenge containers.
See
validator/normal_runner.py:45-62.Weight submit loop
Fetches the master’s latest weight vector and submits it on-chain every
weights_interval_seconds. See validator/normal_runner.py:64-91.How weights flow
- The master computes the final UID weight vector per epoch
(
src/platform_network/cli_app/main.py:784-818). - The validator fetches that vector over HTTP from
GET /v1/weights/latest(validator/weights_client.py:18-30). - The validator validates freshness and shape, then calls
set_weightson-chain (validator/normal_runner.py:64-107,bittensor/weight_setter.py:27-44).
Two ways to validate
- Run the full stack
- Delegate validation power
Run
platform validator run to reconcile challenges and submit weights from
one process (src/platform_network/cli_app/main.py:834-854). Start at the
Quickstart.Identity and keys
The validator signs with its hotkey; ownership stays with the coldkey. The wallet defaults arewallet_name: default and wallet_hotkey: default
(config/validator.example.yaml:5-6), and master_uid defaults to 0
(config/validator.example.yaml:8).
Next steps
Quickstart
Get a validator submitting weights fast.
Install the validator
Install the package and its bittensor extra.
Running a validator
Start the runtime and keep it healthy.
Configuration
Every validator setting and its default.