| # Decentralized Network Configuration | |
| # Docking@HOME - Distributed Network Settings | |
| # === Network Settings === | |
| node_id = "auto" # Node ID (auto = generate unique ID) | |
| network_mode = "localhost" # localhost, p2p, hybrid | |
| enable_distributed_network = true # Enable decentralized coordination | |
| # === Blockchain/DLT Settings === | |
| blockchain_provider = "http://localhost:8545" # Ethereum-compatible RPC endpoint | |
| network_port = 8080 # P2P network port | |
| # === Decentralized Internet SDK Settings === | |
| sdk_version = "3.5.0" # Version of the Decentralized Internet SDK | |
| enable_blockchain = true # Use blockchain for task coordination | |
| enable_p2p_network = true # Enable peer-to-peer networking | |
| enable_distributed_storage = false # Enable distributed storage | |
| # === Consensus Settings === | |
| consensus_algorithm = "proof_of_work" # proof_of_work, proof_of_stake, poa | |
| difficulty = 2 # Mining difficulty (for PoW) | |
| block_time_seconds = 15 # Target block time | |
| min_confirmations = 6 # Minimum confirmations for finality | |
| # === Node Discovery === | |
| bootstrap_nodes = [ | |
| # "http://localhost:8081", | |
| # "http://localhost:8082" | |
| ] | |
| enable_mdns = true # Enable mDNS for local node discovery | |
| enable_dht = true # Enable DHT for peer discovery | |
| max_peers = 50 # Maximum number of connected peers | |
| min_peers = 3 # Minimum number of connected peers | |
| # === Smart Contract Settings === | |
| # Uncomment if using smart contracts for task management | |
| # contract_address = "0x..." # Task management contract address | |
| # contract_abi_path = "contracts/TaskManager.json" | |
| # gas_price_gwei = 20 # Gas price in Gwei | |
| # gas_limit = 500000 # Gas limit for transactions | |
| # === Task Coordination === | |
| task_registry_type = "distributed" # distributed, centralized, hybrid | |
| broadcast_new_tasks = true # Broadcast new tasks to network | |
| accept_external_tasks = true # Accept tasks from other nodes | |
| task_validation_required = true # Require validation from multiple nodes | |
| min_validators = 2 # Minimum validators for task acceptance | |
| # === Data Synchronization === | |
| sync_interval_seconds = 30 # Seconds between sync operations | |
| max_sync_batch_size = 100 # Maximum items per sync batch | |
| enable_delta_sync = true # Only sync changes (not full state) | |
| # === Storage Settings === | |
| storage_dir = "./storage" # Local storage directory | |
| cache_size_mb = 1024 # Cache size in megabytes | |
| enable_compression = true # Compress stored data | |
| enable_encryption = false # Encrypt stored data (requires key) | |
| # encryption_key = "" # Encryption key (if enabled) | |
| # === Network Security === | |
| enable_tls = false # Enable TLS for connections | |
| tls_cert_path = "" # Path to TLS certificate | |
| tls_key_path = "" # Path to TLS private key | |
| require_peer_authentication = false # Require peers to authenticate | |
| whitelist_mode = false # Only allow whitelisted peers | |
| # whitelisted_peers = [] # List of whitelisted peer IDs | |
| # === Performance === | |
| async_operations = true # Use asynchronous operations | |
| connection_pool_size = 10 # Connection pool size | |
| request_timeout_seconds = 30 # Request timeout | |
| max_retries = 3 # Maximum retry attempts | |
| backoff_multiplier = 2.0 # Exponential backoff multiplier | |
| # === Monitoring === | |
| enable_metrics = true # Enable metrics collection | |
| metrics_port = 9090 # Prometheus metrics port | |
| enable_health_checks = true # Enable health check endpoint | |
| health_check_port = 8081 # Health check HTTP port | |
| # === Logging === | |
| log_level = "INFO" # DEBUG, INFO, WARNING, ERROR, CRITICAL | |
| log_network_events = true # Log network events | |
| log_blockchain_events = false # Log blockchain events (verbose) | |
| log_file = "logs/decentralized.log" | |
| # === Advanced Settings === | |
| enable_nat_traversal = true # Enable NAT traversal (UPnP/NAT-PMP) | |
| enable_hole_punching = true # Enable UDP/TCP hole punching | |
| prefer_ipv6 = false # Prefer IPv6 connections | |
| enable_websocket = false # Enable WebSocket connections | |
| websocket_port = 8082 # WebSocket port | |
| # === Fallback Settings === | |
| fallback_to_centralized = true # Fallback to centralized if P2P fails | |
| centralized_server = "http://localhost:8080" | |
| reconnect_interval_seconds = 10 # Seconds between reconnection attempts | |
| max_reconnect_attempts = 10 # Maximum reconnection attempts (0 = infinite) | |
| # === Development/Testing === | |
| dev_mode = false # Enable development mode | |
| mock_blockchain = false # Use mock blockchain (no real transactions) | |
| simulate_network_latency_ms = 0 # Simulate network latency (0 = disabled) | |