Skip to main content

Node Configuration Reference

Caution

The configuration options below are intended for advanced users who understand their impact.

The parameters used in the automatic installation guide and manual installation guide are sufficient for most users.

Please exercise extreme care and discretion when modifying these settings, as any incorrect changes may result in unintended consequences or system instability.

Configuration Reference

The table below lists all available node configuration options.

YAMLENVDefaultDescription
global
global.LogLevelLOG_LEVELinfoDefines logger's log level
global.LogFormatLOG_FORMATconsoleDefines logger's encoding, valid values are 'json' and 'console' (default)
global.LogLevelFormatLOG_LEVEL_FORMATcapitalColorDefines logger's level format, valid values are 'capitalColor' (default), 'capital' or 'lowercase'
global.LogFilePathLOG_FILE_PATH./data/debug.logFile path to write logs to
global.LogFileSizeLOG_FILE_SIZE500Maximum log file size in megabytes before rotation
global.LogFileBackupsLOG_FILE_BACKUPS3Number of rotated log files to keep
db
db.PathDB_PATH./data/db/Database storage directory path
db.ReportingDB_REPORTINGfalseEnable database size reporting
db.GCIntervalDB_GC_INTERVAL6mInterval between garbage collection runs (0 to disable)
ssv
ssv.NetworkNETWORKmainnetNetwork is the network of this node
ssv.ValidatorOptions
ssv.ValidatorOptions.SignatureCollectionTimeoutSIGNATURE_COLLECTION_TIMEOUT5sTimeout for signature collection after consensus
ssv.ValidatorOptions.MetadataUpdateIntervalMETADATA_UPDATE_INTERVAL12mInterval for updating validator metadata
ssv.ValidatorOptions.HistorySyncBatchSizeHISTORY_SYNC_BATCH_SIZE25Maximum number of messages to sync in a single batch
ssv.ValidatorOptions.MinimumPeersMINIMUM_PEERS2Minimum number of peers required for sync
ssv.ValidatorOptions.FullNodeFULLNODEfalseStore complete message history instead of just latest messages
ssv.ValidatorOptions.MsgWorkersCountMSG_WORKERS_COUNT256Number of message processing workers
ssv.ValidatorOptions.MsgWorkerBufferSizeMSG_WORKER_BUFFER_SIZE65536Size of message worker queue buffer
ssv.ValidatorOptions.ExperimentalGasLimitEXPERIMENTAL_GAS_LIMITGas limit for MEV block proposals; it must match across the committee or MEV will fail. Carefully read this doc before adjusting.
eth1
eth1.ETH1AddrETH_1_ADDRExecution client WebSocket URL(s). Multiple clients are supported via semicolon-separated URLs (for example, ws://localhost:8546;ws://localhost:8547)
eth1.ETH1ConnectionTimeoutETH_1_CONNECTION_TIMEOUT10sTimeout for execution client requests
eth1.ETH1SyncDistanceToleranceETH_1_SYNC_DISTANCE_TOLERANCE5Maximum number of blocks behind head considered in-sync
eth2
eth2.BeaconNodeAddrBEACON_NODE_ADDRBeacon node URL(s). Multiple nodes are supported via semicolon-separated URLs (for example, http://localhost:5052;http://localhost:5053)
eth2.SyncDistanceToleranceBEACON_SYNC_DISTANCE_TOLERANCE4Maximum number of slots behind head considered in-sync
eth2.WithWeightedAttestationDataWITH_WEIGHTED_ATTESTATION_DATAfalseEnable attestation data scoring across multiple beacon nodes
p2p
p2p.BootnodesBOOTNODESBootnodes to use for discovery (semicolon-separated ENRs, for example, enr:-abc123;enr:-def456)
p2p.DiscoveryP2P_DISCOVERYdiscv5Discovery protocol to use (discv5, mdns)
p2p.TrustedPeersTRUSTED_PEERSList of peer IDs to always connect to
p2p.TcpPortTCP_PORT13001TCP port for P2P transport
p2p.UdpPortUDP_PORT12001UDP port for discovery
p2p.HostAddressHOST_ADDRESSExternal IP address for discovery (mutually exclusive with HostDNS)
p2p.HostDNSHOST_DNSExternal DNS name for discovery (mutually exclusive with HostAddress)
p2p.RequestTimeoutP2P_REQUEST_TIMEOUT10sTimeout for P2P requests
p2p.MaxBatchResponseP2P_MAX_BATCH_RESPONSE25Maximum number of objects returned in a batch response
p2p.MaxPeersP2P_MAX_PEERS60Maximum number of connected peers
p2p.DynamicMaxPeersP2P_DYNAMIC_MAX_PEERStrueAutomatically adjust MaxPeers based on committee count
p2p.DynamicMaxPeersLimitP2P_DYNAMIC_MAX_PEERS_LIMIT150Upper limit for MaxPeers when DynamicMaxPeers is enabled
p2p.TopicMaxPeersP2P_TOPIC_MAX_PEERS10Maximum peers per pubsub topic
p2p.SubnetsSUBNETSHex string (32 characters) representing 128 subnets to join on startup. Each bit corresponds to a subnet: 1 means join, 0 means skip.
p2p.PubSubScoringPUBSUB_SCORINGtrueEnable pubsub peer scoring
p2p.PubSubTracePUBSUB_TRACEEnable pubsub debug tracing in logs
p2p.DiscoveryTraceDISCOVERY_TRACEEnable discovery debug tracing in logs
p2p.PubsubMsgCacheTTLPUBSUB_MSG_CACHE_TTLDuration to remember a message ID as seen
p2p.PubsubOutQueueSizePUBSUB_OUT_Q_SIZESize of the outbound pubsub message queue
p2p.PubsubValidationQueueSizePUBSUB_VAL_Q_SIZESize of the pubsub validation queue
p2p.PubsubValidateThrottlePUBSUB_VAL_THROTTLENumber of goroutines for pubsub message validation
p2p.DisableIPRateLimitDISABLE_IP_RATE_LIMITDisable IP-based rate limiting
KeyStore
KeyStore.PrivateKeyFilePRIVATE_KEY_FILEPath to operator private key file
KeyStore.PasswordFilePASSWORD_FILEPath to password file for private key decryption
OperatorPrivateKeyOPERATOR_KEYOperator private key for contract event decryption
MetricsAPIPortMETRICS_API_PORTPort for metrics API server
EnableTracesENABLE_TRACESEnable Open Telemetry traces
EnableProfileENABLE_PROFILEEnable Go profiling tools
NetworkPrivateKeyNETWORK_PRIVATE_KEYPrivate key for P2P network identity
WebSocketAPIPortWS_API_PORTPort for WebSocket API server
WithPingWITH_PINGEnable WebSocket ping messages
SSVAPIPortSSV_API_PORTPort for SSV API server
LocalEventsPathEVENTS_PATHPath to local events file
GraffitiGRAFFITIssv.networkCustom graffiti for block proposals
EnableDoppelgangerProtectionENABLE_DOPPELGANGER_PROTECTIONEnable doppelganger protection for validators
ProposerDelayPROPOSER_DELAYDuration to wait out before requesting Ethereum block to propose if this Operator is proposer-duty Leader (for example, 300ms). Read our GitHub doc page for details.
AllowDangerousProposerDelayALLOW_DANGEROUS_PROPOSER_DELAYAllow ProposerDelay values higher than 1s (dangerous, may cause missed block proposals)
SSVSignerConfig
SSVSignerConfig.EndpointENDPOINTEndpoint of ssv-signer. It must be a correct URL
SSVSignerConfig.RequestTimeoutREQUEST_TIMEOUT10sRequest timeout for ssv-signer
SSVSignerConfig.KeystoreFileKEYSTORE_FILEPath to ssv-signer client keystore file
SSVSignerConfig.KeystorePasswordFileKEYSTORE_PASSWORD_FILEPath to file containing the password for client keystore file
SSVSignerConfig.ServerCertFileSERVER_CERT_FILEPath to trusted server certificate file for ssv-signer

API Methods Reference

When SSV Node is configured with SSVAPIPort, you can call several API methods. For example: curl http://localhost:16000/v1/node/health.

Available methods are listed below:

MethodOutput description
/v1/node/healthOutput will post information peers (inbound and outbound), and addresses used for P2P communication. Described in details here.
/v1/node/identityPrints out your peer_id, p2p addresses, subnets the node participates in, version of the node.
/v1/node/peersPrints out infromation about current peers: id, addresses, direction, subnets, peer's node version.
/v1/node/topicsPrints an array of all peers' ids, and also separate arrays for peers split by topic.
/v1/validatorsPrints information about all validators on the network.