README.md:153-156; docs/architecture.md:53-55.
Source repository
The submit-only submitter, the weights client, and the validator settings.
What the submitter does
The submitter is a minimal process on the validator node. Everyweights_interval_seconds it reads /v1/weights/latest from the master, submits the
fetched vector on-chain, and keeps retrying if the master is unavailable.
Source: docs/architecture.md:53-55; deploy/swarm/submitter/run_submitter.py:1-16.
It deliberately does not run the challenge reconcile loop or open the
control-plane database — those belong to the master, not the submitter.
Source: deploy/swarm/submitter/run_submitter.py:8-17.
The submit loop
Each iteration inlines three operations: fetch the latest master vector, validate the payload, then callset_weights.
deploy/swarm/submitter/run_submitter.py:112-144.
The weights client is pointed at the resolved weights URL, with the configured
timeout and retry count.
Source: deploy/swarm/submitter/run_submitter.py:161-169; src/platform_network/config/settings.py:42-52.
Configuration
| Setting | Default | Source |
|---|---|---|
netuid | 100 | src/platform_network/config/settings.py:12 |
validator.registry_url | https://chain.platform.network | src/platform_network/config/settings.py:42 |
validator.weights_interval_seconds | 360 | src/platform_network/config/settings.py:45 |
validator.weights_timeout_seconds | 15.0 | src/platform_network/config/settings.py:46 |
validator.weights_retries | 3 | src/platform_network/config/settings.py:47 |
validator.weights_freshness_seconds | 720 | src/platform_network/config/settings.py:48 |
weights_url when set, otherwise the registry_url.
Source: src/platform_network/config/settings.py:50-52.
The reference submitter config points weights_url at https://chain.platform.network,
the public master endpoint.
Source: deploy/swarm/submitter/submitter.yaml:42-43.
Identity and safety
At startup the submitter logs its target and the public validator hotkey SS58 address so an operator can confirm the submitting identity. It never logs the private key or any secret. ASIGTERM/SIGINT cancels at the next sleep point, so an
in-flight set_weights completes fully and the stop never leaves a half-submitted
state.
Source: deploy/swarm/submitter/run_submitter.py:30-33, deploy/swarm/submitter/run_submitter.py:65-86, deploy/swarm/submitter/run_submitter.py:192-203.
Installation
The submitter is a single systemd-managed service on the validator node. It needs only the validator hotkey. Source:README.md:398-409.
Related
Architecture overview
Where the validator sits in the subnet.
Master node
The node that computes and serves the vector.
Sources
Citations reference thebase repository pinned at SHA
e33109bfa4f5054928c3b4d429be9cf35d36b166 (see SOURCES.md).