6.5 Testnet Deploy Guide — C-SWON (netuid 26)
Concrete step-by-step for deploying C-SWON on the Bittensor testnet. This documents the exact commands used to deploy the live testnet instance.
Quick Reference
| Field | Value |
|---|---|
| Netuid | 26 |
| Network | test (wss://test.finney.opentensor.ai:443) |
| Owner coldkey | 5Evo1iiPLpYMn5HSo5DE9tBJSgWEx4VSA6dbzsvNQshGNPGX |
| Miner coldkey | 5CswWXnGqrSLGFmHhhv6FVwD6t2gyhmByQirvG2yHwPaZ7Yg |
| Validator coldkey | 5GWjFybcbmdHArkFQZAVZhyz1My1WgqNqGKzRrHML1pHpbG1 |
| Miners | 10 (UIDs 2–11) |
| Validators | 3 (UIDs 1, 12, 13) |
1. Environment Setup
cd C-SWON
python3.12 -m venv .venv && source .venv/bin/activate
pip install bittensor && pip install -e .
cat > .env << 'EOF'
CSWON_MOCK_EXEC=true
CSWON_SYNTHETIC_SALT=<your-salt>
EOF
set -a && source .env && set +a
2. Wallets Created
# Owner (subnet creator)
btcli wallet new_coldkey --wallet.name owner
btcli wallet new_hotkey --wallet.name owner --wallet.hotkey default
# Validator (3 hotkeys)
btcli wallet new_coldkey --wallet.name vali
btcli wallet new_hotkey --wallet.name vali --wallet.hotkey default
btcli wallet new_hotkey --wallet.name vali --wallet.hotkey vali2
btcli wallet new_hotkey --wallet.name vali --wallet.hotkey vali3
# Miner (10 hotkeys)
btcli wallet new_coldkey --wallet.name miner
btcli wallet new_hotkey --wallet.name miner --wallet.hotkey default
for hk in miner2 miner3 miner4 miner5 miner6 miner7 miner8 miner9 miner10; do
btcli wallet new_hotkey --wallet.name miner --wallet.hotkey $hk
done
3. Subnet Created
btcli subnet create --network test --wallet.name owner
# → netuid 26 assigned at block 6797794
4. Registration (10 miners + 3 validators)
# First miner + validator
btcli subnet register --netuid 26 --wallet.name miner --wallet.hotkey default --network test
btcli subnet register --netuid 26 --wallet.name vali --wallet.hotkey default --network test
# Additional miners
for hk in miner2 miner3 miner4 miner5 miner6 miner7 miner8 miner9 miner10; do
btcli subnet register --netuid 26 --wallet.name miner --wallet.hotkey $hk --network test
done
# Additional validators
for hk in vali2 vali3; do
btcli subnet register --netuid 26 --wallet.name vali --wallet.hotkey $hk --network test
done
5. Subnet Started + Staking
btcli subnet start --netuid 26 --wallet.name owner --network test
# Miner staking (15 TAO each)
for hk in default miner2 miner3 miner4 miner5 miner6 miner7 miner8 miner9 miner10; do
btcli stake add --netuid 26 --wallet.name miner --wallet.hotkey $hk --network test --amount 15 --unsafe
done
# Validator staking (50 TAO each for vali2/vali3, vali/default had prior stake)
btcli stake add --netuid 26 --wallet.name vali --wallet.hotkey vali2 --network test --amount 50 --unsafe
btcli stake add --netuid 26 --wallet.name vali --wallet.hotkey vali3 --network test --amount 50 --unsafe
6. Running the Subnet
Start miner first, then validator:
# Terminal 1 — Miner
python neurons/miner.py \
--netuid 26 --subtensor.network test \
--wallet.name miner --wallet.hotkey default \
--axon.port 8091 --logging.debug
# Terminal 2 — Validator
python neurons/validator.py \
--netuid 26 --subtensor.network test \
--wallet.name vali --wallet.hotkey default \
--axon.port 8092 --logging.debug
7. Verification
# Full metagraph
btcli subnet metagraph --netuid 26 --network test
# Wallet overview
btcli wallet overview --wallet.name vali --netuid 26 --network test
btcli wallet overview --wallet.name miner --netuid 26 --network test
# Check weights on chain
python -c "
import bittensor as bt
sub = bt.Subtensor(network='test')
for entry in sub.weights(netuid=26):
print(f'Validator UID {entry[0]} -> {len(entry[1])} targets')
"
Current Hyperparameters (netuid 26)
| Parameter | Value | Notes |
|---|---|---|
tempo | 360 | ~72 min per cycle (root-only, using default) |
weights_rate_limit | 100 | Root-only, using default |
immunity_period | 15000 | ~50 hours protection |
commit_reveal_weights_enabled | False | Disabled by owner |
min_allowed_weights | 1 | Set by owner |
max_weight_limit | 65535 | No cap |
registration_cost | ~0.09 τ | Dynamic |
CLI flag reminder:
btcliuses--network test. Neuron scripts use--subtensor.network test. These are different CLI frameworks and are NOT interchangeable.
Navigation
| ← Previous | 6.4 Local Deploy Guide |
| → Next | 7.1 Testnet Evidence |
| Index | Documentation Index |