Validator Guide
Configuration
Connito validators are configured via a YAML file. This page walks through the key fields.
Example Configuration
chain:
netuid: 102
network: archive
coldkey_name: my-wallet
hotkey_name: my-hotkey
port: 8000
model:
model_path: deepseek-ai/DeepSeek-V2-Lite
device: cuda
cycle:
cycle_length: 448
distribute_period: 20
train_period: 300
commit_period: 8
submission_period: 20
validate_period: 50
merge_period: 50
ckpt:
validator_checkpoint_path: /path/to/validator_checkpoint
miner_submission_path: /path/to/miner_submission
dht:
port: 6001Field Reference
chain
| Field | Default | Description |
|---|---|---|
netuid | 102 | Subnet ID. Locked — do not change. |
network | archive | Bittensor network (archive or finney). Locked. |
coldkey_name | — | Wallet coldkey name (must match btcli wallet list). |
hotkey_name | — | Wallet hotkey name. |
port | 8000 | Bittensor serve port. Must be open inbound. |
model
| Field | Default | Description |
|---|---|---|
model_path | deepseek-ai/DeepSeek-V2-Lite | Hugging Face model ID. Locked. |
device | cuda | Device for inference. |
cycle
Cycle timing parameters. These are locked and must match the subnet-wide configuration.
| Field | Default | Description |
|---|---|---|
cycle_length | 448 | Total blocks per cycle. |
distribute_period | 20 | Blocks for model distribution to miners. |
train_period | 300 | Blocks for miner training. |
commit_period | 8 | Blocks per commit sub-phase. |
submission_period | 20 | Blocks for miner checkpoint submissions. |
validate_period | 50 | Blocks for proof-of-loss evaluation. |
merge_period | 50 | Blocks for inter-validator merging. |
ckpt
| Field | Default | Description |
|---|---|---|
base_checkpoint_path | checkpoints/validator | Root directory for all checkpoint storage. |
validator_checkpoint_path | validator_checkpoint | Subdirectory for validator state checkpoints. |
miner_submission_path | miner_submission | Subdirectory for downloaded miner submissions. |
checkpoint_topk | 2 | Number of recent checkpoints to keep. |
dht
| Field | Default | Description |
|---|---|---|
port | 6000 | Hivemind DHT port. Open both TCP and UDP. |
Locked Fields
Fields marked as locked are controlled by the subnet owner and must match the network-wide configuration. If your config file contains a different value, the validator will auto-reset it to the default on startup (with a warning in the logs).
Do not change locked fields unless instructed by the maintainers.
Docker Path Handling
When running with Docker, you do not need a separate config file. The validator automatically detects Docker and remaps host paths to container paths:
| Host path (in your YAML) | Container path (at runtime) |
|---|---|
root_path | /data |
expert_groups/ | /app/expert_groups |
| Checkpoint paths | /data/checkpoints/... |
This means you can use the same validator.yaml for both bare-metal and Docker runs.