# 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)