content: # Basilica Miner Configuration
  # This is a simplified, production-ready configuration template
  
  # =============================================================================
  # BITTENSOR NETWORK CONFIGURATION
  # =============================================================================
  [bittensor]
  # Wallet configuration (path: ~/.bittensor/wallets/{wallet_name}/hotkeys/{hotkey_name})
  wallet_name = "<your_wallet_name>" # Your coldkey/wallet name
  hotkey_name = "<your_hotkey_name>" # Your hotkey name
  
  # Network settings
  network = "finney"         # Options: finney, test, local
  netuid = 39                # Basilica subnet ID
  weight_interval_secs = 300 # Weight setting interval (5 minutes)
  
  # Axon configuration (for Bittensor network registration)
  external_ip = "<your_server_public_ip>"
  axon_port = 8080
  
  # Advanced settings
  max_weight_uids = 256
  skip_registration = false # Set to true for local testing only
  
  # =============================================================================
  # DATABASE CONFIGURATION
  # =============================================================================
  [database]
  url = "sqlite:///opt/basilica/data/miner.db"
  # Optional: Adjust connection pool settings (defaults: max=10, min=1)
  # max_connections = 10
  # min_connections = 1
  run_migrations = true
  
  # =============================================================================
  # VALIDATOR COMMUNICATIONS (gRPC Server)
  # =============================================================================
  [validator_comms]
  host = "0.0.0.0" # Internal binding address
  port = 8080      # gRPC server port
  # Optional: request_timeout = 30 (default: 30 seconds)
  
  # =============================================================================
  # GPU NODE MANAGEMENT
  # =============================================================================
  [node_management]
  # List your GPU compute nodes with SSH access details
  # Validators will SSH directly to these nodes
  nodes = [
    { host = "<node 1 IP>", port = 22, username = "root" },
    { host = "<node 2 IP>", port = 22, username = "root" },
  ]
  
  # Optional: Health check and retry settings (sensible defaults provided)
  # health_check_interval = 60      # seconds (default: 60)
  # health_check_timeout = 10       # seconds (default: 10)
  # max_retry_attempts = 3          # default: 3
  # auto_recovery = true            # default: true
  
  # =============================================================================
  # SSH ACCESS CONFIGURATION
  # =============================================================================
  [ssh_session]
  # Path to your SSH private key for accessing nodes
  miner_node_key_path = "~/.ssh/miner_node_key"
  # Default username for SSH access to nodes
  default_node_username = "node"
  
  # =============================================================================
  # SECURITY CONFIGURATION
  # =============================================================================
  [security]
  verify_signatures = true
  # Optional: Path to Ethereum private key file for collateral contract
  # private_key_file = "/path/to/private_key.pem"
  
  # =============================================================================
  # METRICS CONFIGURATION
  # =============================================================================
  [metrics]
  enabled = true
  # Optional: Adjust collection and retention (defaults shown)
  # collection_interval = 30  # seconds (default: 30)
  # retention_period = 604800 # seconds (default: 7 days)
  
  [metrics.prometheus]
  host = "127.0.0.1"
  port = 9090
  # Optional: path = "/metrics" (default: /metrics)
  
  # Optional: Add custom labels to all metrics
  # [metrics.default_labels]
  # environment = "production"
  
  # =============================================================================
  # VALIDATOR ASSIGNMENT STRATEGY
  # =============================================================================
  [validator_assignment]
  strategy = "highest_stake"
  min_stake_threshold = 12000.0
  validator_hotkey = "5G3qVaXzKMPDm5AJ3dpzbpUC27kpccBvDwzSWXrq8M6qMmbC"
  
  # =============================================================================
  # ADVERTISED ADDRESSES (Optional Overrides)
  # =============================================================================
  # These override the auto-detected addresses for external services
  [advertised_addresses]
  # grpc_endpoint = "http://<your_server_public_ip>:8080"
  # axon_endpoint = "http://<your_server_public_ip>:8080"
  # metrics_endpoint = "http://<your_server_public_ip>:9090"
  