Validator Requirements
This guide outlines the hardware and software requirements for running a BBAChain validator node. Meeting these requirements ensures optimal performance and network participation.
Table of Contents
- Hardware Requirements
- Software Requirements
- Network Requirements
- Storage Considerations
- Performance Optimization
Hardware Requirements
The hardware recommendations below are provided as a guide. Minimum requirements will allow the validator to run, but recommended specifications provide better performance and stability.
Minimum Requirements
| Component | Specification | Notes |
|---|---|---|
| CPU | 4 cores (8 threads) | 2.8GHz base clock speed or faster |
| RAM | 64GB | ECC memory is suggested |
| Accounts Disk | 256GB SSD | High TBW (Total Bytes Written) required |
| Ledger Disk | 640GB SSD | High TBW suggested |
| OS Disk | 128GB SSD | Separate from ledger disk recommended |
Recommended Requirements
| Component | Specification | Notes |
|---|---|---|
| CPU | 8 cores (16 threads) | 2.8GHz base clock speed or faster |
| RAM | 128GB | ECC memory is suggested |
| Accounts Disk | 320GB NVMe SSD | High TBW required |
| Ledger Disk | 1TB NVMe SSD | High TBW suggested |
| OS Disk | 256GB SSD | Separate from ledger disk recommended |
CPU Requirements
- Base Clock: 2.8GHz or faster
- SHA Extensions: Support for SHA instruction extensions
- AMD: Gen 3 (Zen 3) or newer
- Intel: Ice Lake or newer
- AVX512f: Support for AVX512f is helpful but not required
CPUs with SHA extensions provide significant performance improvements for cryptographic operations.
Memory (RAM) Requirements
- Minimum: 64GB
- Recommended: 128GB
- ECC Memory: Error-correcting code (ECC) memory is suggested for production validators to prevent data corruption
Storage Requirements
Disk Types
BBAChain validators require high-performance storage due to intensive I/O operations:
- SSD Required: Traditional HDDs are not suitable
- NVMe Recommended: NVMe SSDs provide the best performance
- High TBW: Total Bytes Written (TBW) rating is important due to constant writes
Disk Configuration
Option 1: Separate Disks (Recommended)
- OS Disk: 128-256GB SSD
- Accounts Disk: 256-320GB NVMe SSD
- Ledger Disk: 640GB-1TB NVMe SSD
Option 2: Combined Disks
- OS + Accounts: Can be on the same disk (not recommended due to high IOPS)
- Ledger: Should be on a separate disk for best performance
Storing accounts and ledger on the same disk is not recommended due to high IOPS requirements. This can lead to performance degradation.
Popular SSD Models
The following SSD models are popular with the validator community:
- Samsung 970 Pro series
- Samsung 980 Pro series
- Western Digital Black SN850 series
These models offer excellent performance and high TBW ratings suitable for validator operations.
Software Requirements
Operating System
- Linux: Ubuntu 20.04 LTS or newer (recommended)
- Other Linux Distributions: Most modern Linux distributions should work
While other operating systems may work, Ubuntu is the most tested and documented platform for BBAChain validators.
Required Software
- BBAChain CLI: Latest version of BBAChain command-line tools
- System Updates: Latest system packages and security updates
System Configuration
- User Account: Create a dedicated
bbachainuser account (see configuration guide) - Firewall: Configure firewall rules to allow necessary ports
- Swap: Configure swap space (optional but recommended)
Network Requirements
Bandwidth
- Minimum: 100 Mbps upload/download
- Recommended: 1 Gbps or higher
- Stable Connection: Low latency and minimal packet loss
Ports
Ensure the following ports are open:
- Gossip Port: 8001 (TCP/UDP) - For peer-to-peer communication
- RPC Port: 8899 (TCP) - For RPC requests (if enabled)
- Metrics Port: 9090 (TCP) - For metrics collection (if enabled)
Network Stability
- Uptime: Validator should maintain high uptime (>99%)
- Latency: Low latency to other validators improves performance
- Redundancy: Consider redundant network connections for production
Storage Considerations
Disk Performance
Validator operations require high disk I/O:
- Read Operations: Frequent reads of account state and ledger data
- Write Operations: Constant writes of new transactions and state updates
- IOPS: High IOPS (Input/Output Operations Per Second) is critical
Disk Space Growth
Plan for disk space growth:
- Ledger Growth: The ledger grows continuously as new transactions are added
- Account State: Account state size depends on network activity
- Snapshots: Regular snapshots may be required for recovery
Backup Considerations
- Regular Backups: Implement regular backup procedures
- Snapshot Storage: Consider off-site storage for snapshots
- Recovery Testing: Regularly test recovery procedures
Performance Optimization
CPU Optimization
- Core Affinity: Pin validator processes to specific CPU cores
- CPU Governor: Use performance CPU governor for consistent performance
- Thermal Management: Ensure adequate cooling to prevent throttling
Memory Optimization
- Swap Configuration: Configure appropriate swap space
- Memory Limits: Set appropriate memory limits for validator processes
- Monitoring: Monitor memory usage to prevent OOM (Out of Memory) conditions
Disk Optimization
- File System: Use ext4 or xfs with appropriate mount options
- I/O Scheduler: Use appropriate I/O scheduler (e.g.,
deadlineornoop) - Discard: Enable TRIM/discard for SSDs
- Separate Disks: Use separate disks for accounts and ledger when possible
Network Optimization
- Network Tuning: Optimize TCP/IP settings for high throughput
- Connection Pooling: Configure appropriate connection pool sizes
- Monitoring: Monitor network latency and packet loss
Cost Considerations
Running a validator has ongoing costs:
- Hardware: Initial hardware investment
- Electricity: Power consumption for 24/7 operation
- Internet: High-bandwidth internet connection
- Maintenance: Regular maintenance and updates
- Monitoring: Monitoring and alerting infrastructure
Related Topics
- Configure your validator node
- Build BBAChain from source
- Generate keypairs for your validator
- Understand BBAChain consensus mechanism
Next Steps:
- Configure your validator setup
- Build BBAChain from source
- Generate required keypairs