Overview
Running an SSV Node in production requires careful planning and configuration to ensure reliability, performance, and security. This guide covers best practices for production deployments.Infrastructure Requirements
Hardware Specifications
Minimum Requirements
- CPU: 4 cores (2.5 GHz+)
- RAM: 8 GB
- Storage: 100 GB SSD
- Network: 100 Mbps connection
- Operating System: Ubuntu 20.04 LTS or later (recommended)
Recommended Specifications
- CPU: 8 cores (3.0 GHz+)
- RAM: 16 GB
- Storage: 500 GB NVMe SSD
- Network: 1 Gbps connection with low latency
- Operating System: Ubuntu 22.04 LTS
Network Requirements
Port Configuration
Ensure the following ports are open and accessible:| Port | Protocol | Direction | Purpose |
|---|---|---|---|
| 12001 | UDP | Inbound/Outbound | P2P discovery (discv5) |
| 13001 | TCP | Inbound/Outbound | P2P communication (libp2p) |
| 15000 | TCP | Internal only | Metrics API |
| 16000 | TCP | Internal only | SSV API |
Firewall Rules
Example firewall configuration usingufw:
Execution and Consensus Clients
Client Selection
For production deployments, run your own Ethereum execution and consensus clients: Execution Layer (ETH1) Options:- Geth
- Nethermind
- Besu
- Erigon
- Lighthouse
- Prysm
- Teku
- Nimbus
- Lodestar
Client Configuration
Execution Client (WebSocket)
Consensus Client (HTTP)
Redundancy
For critical production deployments, configure multiple beacon nodes:Multiple Beacon Node Configuration
Multiple Beacon Node Configuration
While SSV Node currently supports a single beacon node endpoint in the configuration, you can implement redundancy at the infrastructure level:
- Load Balancer Approach: Use a load balancer (HAProxy, NGINX) to distribute requests across multiple beacon nodes
- Failover Setup: Configure automatic failover using health checks
- Monitoring: Set up alerts for beacon node availability
Configuration Best Practices
Production Configuration Template
Time Synchronization
MEV Configuration
Optimizing MEV Rewards
SSV Node supports MEV-boost integration through the consensus client. ConfigureProposerDelay to optimize MEV extraction:
Recommended MEV Settings
- Conservative: 300ms - Safe starting point
- Moderate: 500-800ms - Balance between MEV and safety
- Aggressive: 1000-1200ms - Maximum reasonable value
Resource Management
Database Management
The SSV Node uses BadgerDB for persistent storage.Disk Space Monitoring
Backup Strategy
Log Management
Log Rotation
Docker log rotation is configured via:logrotate:
Structured Logging
For production monitoring, use JSON format:High Availability
Monitoring and Alerting
Implement comprehensive monitoring:Critical Alerts
Set up alerts for:
- Node downtime
- Missed attestations
- Missed proposals
- Disk space > 80%
- Memory usage > 90%
- P2P peer count < threshold
Automated Restarts
Configure automatic restart on failure:Health Checks
Performance Optimization
System Tuning
Increase File Descriptors
Network Optimization
Container Resource Limits
Disaster Recovery
Backup Checklist
- Operator private keys (encrypted keystore + password)
- Configuration files
- Database directory
- Docker Compose configuration
Recovery Procedure
Update Strategy
Pre-Update Checklist
- Review release notes for breaking changes
- Backup current database
- Test update on testnet/development environment
- Schedule update during low-activity period
- Notify monitoring team
Update Procedure
Rollback Procedure
If issues occur after update:Checklist for Production Deployment
Pre-Deployment
- Hardware meets recommended specifications
- Firewall configured correctly
- Execution and consensus clients running and synced
- NTP time synchronization configured
- Operator keys generated and backed up securely
- Configuration file created and validated
Deployment
- Docker and Docker Compose installed
- SSV Node container started successfully
- Logs show successful P2P connection
- Node is syncing/synced with network
Post-Deployment
- Metrics endpoint accessible
- Monitoring and alerting configured
- Log rotation configured
- Backup strategy implemented
- Documentation updated with server details
- Team notified of deployment
Next Steps
- Review Security Hardening
- Set up Monitoring and Metrics
- Configure MEV settings in your node configuration
- Join the SSV Community for support
