This directory contains pre-configured templates for different types of ZHTP nodes. Each configuration is optimized for specific use cases and roles within the SOVEREIGN_NET ecosystem.
Purpose: Complete blockchain functionality with all ZHTP components Best for: API servers, blockchain explorers, dApps, general-purpose nodes
Features:
- All 9 ZHTP components enabled
- Complete blockchain copy and validation
- API endpoints for serving data
- Moderate storage provision (500GB)
- High peer connectivity (150 peers)
- Hybrid mesh + TCP/IP networking
Resources: 4GB RAM, 12 CPU threads, 1TB storage
Purpose: Consensus participation and block validation Best for: Stakers, consensus participants, block producers
Features:
- Validator consensus ENABLED
- Maximum security (Dilithium-5, Kyber-1024)
- High storage provision (1TB)
- Enhanced peer connectivity (200 peers)
- Hardware security key support
- Higher staking requirements (10,000 ZHTP)
Resources: 8GB RAM, 16 CPU threads, 2TB storage
Purpose: Distributed storage services and DHT participation
Best for: Storage providers, -like services, data availability
Features:
- Large storage capacity (5TB)
- Cold storage tier optimization
- High storage reward multipliers (3x)
- Erasure coding for data integrity
- Smart contracts disabled (resource conservation)
- Extended timeout for storage operations
Resources: 2GB RAM, 8 CPU threads, 10TB storage
Purpose: Mesh networking and Best for: Mesh relays, rural connectivity, censorship resistance
Features:
- Pure mesh mode ()
- Mesh protocols only (Bluetooth, WiFi Direct, LoRaWAN)
- Long-range relay support (satellite/LoRaWAN)
- High routing reward multipliers (2x)
- Minimal resource requirements
- No internet fallback (true mesh independence)
Resources: 1GB RAM, 4 CPU threads, 200GB storage
Purpose: Testing and development Best for: Development, testing, local experiments
Features:
- Relaxed security settings
- Fast block times (2 seconds)
- Lower resource requirements
- Simplified configuration
- TCP-only networking
- Local bootstrap peers
Resources: 512MB RAM, 2 CPU threads, 50GB storage
# Using node type shortcuts (recommended)
zhtp --node-type full # Full node
zhtp --node-type validator # Validator node
zhtp --node-type storage # Storage node
zhtp --node-type edge # Edge node
zhtp --node-type dev # Development node
# Using explicit config files
zhtp node start --config ./configs/full-node.toml
zhtp node start --config ./configs/validator-node.toml
zhtp node start --config ./configs/storage-node.toml
zhtp node start --config ./configs/edge-node.toml
zhtp node start --config ./configs/dev-node.toml
# Using helper scripts
./start-node.sh # Interactive node type selection (Linux/Mac)
./start-node.bat # Interactive node type selection (Windows)# Override specific settings
zhtp node start --config ./configs/validator-node.toml --validator --port 8081
# Pure mesh mode
zhtp node start --config ./configs/edge-node.toml --pure-mesh
# Development with custom data directory
zhtp node start --config ./configs/dev-node.toml --data-dir ./my-test-dataYou can override configuration values using environment variables:
export ZHTP_MESH_PORT=33445
export ZHTP_STORAGE_CAPACITY_GB=2000
export ZHTP_MAX_PEERS=300
zhtp node start --config ./configs/full-node.tomlCopy any template and modify it for your specific needs:
cp configs/full-node.toml configs/my-custom-node.toml
# Edit my-custom-node.toml
# Validate your configuration
./configs/validate-config.sh configs/my-custom-node.toml
# Start with custom configuration
zhtp node start --config ./configs/my-custom-node.toml- Minimum stake: 10,000 ZHTP tokens
- Identity: Registered human identity (
did:zhtp:person:*) - Hardware: Dedicated server recommended
- Network: Stable, high-bandwidth connection
- Uptime: 99%+ availability expected
- Storage: Large disk capacity (1TB+ recommended)
- Network: Good upload bandwidth for serving data
- Reliability: Consistent availability for data retrieval
- Hardware: Can run on Raspberry Pi or similar
- Location: Areas with poor internet connectivity
- Protocols: Bluetooth, WiFi Direct, or LoRaWAN capability
- Always use
environment = "Mainnet"for production - Set
security_level = "Maximum"for validators - Enable
post_quantum_enabled = truefor security - Use hardware security modules for validator keys
- Configure firewall rules for required ports
- Use VPN or secure channels for bootstrap peers
- Monitor for unusual network activity
All nodes expose health endpoints:
http://localhost:8080/health- Overall node healthhttp://localhost:8080/metrics- Detailed metricshttp://localhost:8080/peers- Network connectivity
Monitor logs for:
- Consensus participation (validators)
- Storage operations (storage nodes)
- Mesh connectivity (edge nodes)
- API request patterns (full nodes)
- Port conflicts: Ensure mesh_port, dht_port, and api_port are available
- Storage space: Monitor disk usage, especially for storage nodes
- Peer connectivity: Check firewall and network configuration
- Stake requirements: Validators need sufficient ZHTP tokens staked
Before starting a node, validate your configuration:
# Validate any configuration file
./configs/validate-config.sh ./configs/full-node.toml
./configs/validate-config.sh ./configs/my-custom-node.toml- Check logs in
./data/[node-type]/logs/ - Use
zhtp node statusfor quick diagnostics - Validate configurations with
./configs/validate-config.sh - Monitor system resources and network connectivity
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Full Node │ │ Validator Node │ │ Storage Node │
│ │ │ │ │ │
│ • All Components│ │ • Consensus │ │ • Large Storage │
│ • API Endpoints │ │ • High Security │ │ • DHT Focus │
│ • Moderate Store│ │ • Block Creation│ │ • Data Serving │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
└───────────────────────┼───────────────────────┘
│
┌─────────────────┐
│ Edge Node │
│ │
│ • Pure Mesh │
│ • │
│ • Low Resources │
│ • Rural Connect │
└─────────────────┘
Each node type is optimized for its specific role while maintaining compatibility with the broader ZHTP ecosystem.