Introduction
The SSV Node CLI (ssvnode) provides commands for running and managing SSV operators. It includes tools for:
- Running an SSV operator node
- Generating operator keys (encrypted or raw)
- Creating threshold validator keys for distributed validation
- Exporting validator keys from mnemonic phrases
Installation
Build the SSV Node CLI from source:./bin/ssvnode.
Available Commands
start-node
Start an SSV operator node instance
generate-operator-keys
Generate operator keys for contract event decryption
create-threshold
Split validator keys into threshold shares
export-keys
Extract validator keys from mnemonic phrase
Common Usage Patterns
Setting Up a New Operator
- Generate operator keys (encrypted format recommended for production):
encrypted_private_key.json that you’ll reference in your config.
- Configure your node by creating a
config.yamlfile:
- Start the node:
Creating Validator Shares for Testing
For local testing, you can split a validator key into shares:Configuration Methods
SSV Node supports multiple configuration methods:1. Configuration File (Recommended)
Create a YAML configuration file:2. Environment Variables
All configuration options can be set via environment variables:3. Hybrid Approach
Combine config files with environment variable overrides. Environment variables take precedence.Security Best Practices
Operator Key Security
Operator Key Security
- Always use encrypted keystores in production (generated with
--password-file) - Never commit raw private keys to version control
- Store password files separately from keystore files
- Use file permissions to restrict access:
chmod 600 encrypted_private_key.json
Network Security
Network Security
- Keep the SSV API port (
SSVAPIPort) private and not exposed to the internet - Use firewalls to restrict access to node ports
- Only expose P2P ports (TCP/UDP) to the internet
Validator Key Management
Validator Key Management
- Use
ssv-keystool for production validator key splitting - Never use
create-thresholdorexport-keysin production environments - Keep validator key shares distributed across operators
Logging and Debugging
Log Levels
Control log verbosity with theLogLevel configuration:
debug- Detailed information for debugginginfo- General operational information (default)warn- Warning messageserror- Error messagesfatal- Critical errors that cause shutdownpanic- Severe errors with stack trace
Log Formats
Log Files
Configure log file rotation:Troubleshooting
Binary not found
Binary not found
Build the binary first:
Config file not found
Config file not found
Specify the full path to your config file:
Failed to decrypt keystore
Failed to decrypt keystore
Ensure your password file contains the correct password:
Cannot connect to beacon node
Cannot connect to beacon node
Verify beacon node is running and accessible:
Version Information
Check the installed version:Next Steps
Start Node
Learn about all start-node configuration options
Generate Keys
Generate operator keys for your node
Configuration
Full configuration reference
Running Locally
Set up a local development environment
