Configuration
Config
When using .env it is necessary to create config.yaml (can be empty) and env will override it.
Required | Yaml key | Env key | Default | Options | Description |
✓ | OperatorPrivateKey | OPERATOR_KEY | Empty | Base64 | Operator private key, used to decrypt contract events, generated during node setup |
X | EnableProfile | ENABLE_PROFILE | False | Bool | Enables go profiling tools |
X | MetricsAPIPort | METRICS_API_PORT | Empty | Int | Metric API port |
X | NetworkPrivateKey | NETWORK_PRIVATE_KEY | Empty | String | libP2P PK if left empty will be generated by the node |
X | ReadOnlyMode | READ_ONLY_MODE | False | Bool | Run node in “read-only” mode. Node will not perform duties. |
Global (Yaml Parent Key)
Required | Yaml Key | Env Key | Default | Options | Description |
X | LogLevel | LOG_LEVEL | info - (default) | Info, Debug, Warn, Error, Dpanic, Panic, Fatal | Defines logger's log level |
X | LogFormat | LOG_FORMAT | console | console - (default) prints logs in JS (?) format json - prints logs in JSON format | Defines logger's encoding |
X | LogLevelFormat | LOG_LEVEL_FORMAT | capitalColor | capitalColor - (default) prints all logs in capitol with color capital - prints all logs in capitals lowercase - prints logs in lowercase | Defines logger's level format |
DB (Yaml Parent Key)
Required | Yaml Key | Env Key | Default | Options | Description |
X | Type | DB_TYPE | badger-db | badger-db,Badger-memory | DB type can be either on disk or in memory |
X | Path | DB_PATH | ./data/db | accepts any path in the machine | Storage path |
X | Reporting | DB_REPORTING | false | Bool | Define to toggle db logs reporting |
SSV (Yaml Parent Key)
Required | Yaml Key | Env Key | Default | Options | Description |
X | GenesisEpoch | GENESIS_EPOCH | 0 | Uint64 val | Sets the epoch at which the operator will start performing duties |
X | DutyLimit | DUTY_LIMIT | 32 | Uint64 val | Max slots to wait for duty to start |
ValidatorOptions (NOT Required)
Required | Yaml Key | Env Key | Default | Options | Description |
X | SignatureCollectionTimeout | SIGNATURE_COLLECTION_TIMEOUT | 5s | Ms (milliseconde) s (secondes) M (minutes) H (hour) | Timeout for signature collection after consensus |
X | MetadataUpdateInterval | METADATA_UPDATE_INTERVAL | 12m | Ms (milliseconde) s (secondes) M (minutes) H (hour) | Interval for updating validator metadata |
X | HistorySyncRateLimit | HISTORY_SYNC_BACKOFF | 200ms | Ms (milliseconde) s (secondes) M (minutes) H (hour) | Process sync messages backoff (delay between messages) |
Shares
(For testing purposes! All values Required when testing)
Required | Yaml Key | Env Key | Default | Options | Description |
✓ | NodeID | NodeID | - | Int | Local share node ID |
✓ | PublicKey | LOCAL_NODE_ID | - | String | Local validator public key |
✓ | ShareKey | LOCAL_SHARE_KEY | - | String | Local share key |
✓ | Committee | LOCAL_COMMITTEE | - | map[string]int Example - https://github.com/bloxapp/ssv/blob/main/config/example_share.yaml | Local validator committee array |
✓ | OwnerAddress | LOCAL_OWNER_ADDRESS | - | ETH1 address | Local validator owner address |
ETH1 (Yaml Parent Key)
Required | Yaml Key | Env Key | Default | Options | Description |
✓ | ETH1Addr | ETH_1_ADDR | - | WS Url | ETH1 node WebSocket address |
X | ETH1SyncOffset | ETH_1_SYNC_OFFSET | 4e706f | String (bytes representing block number) | block number to sync from |
X | ETH1ConnectionTimeout | ETH_1_CONNECTION_TIMEOUT | 10s | Ms (milliseconde) s (secondes) M (minutes) H (hour) | eth1 node connection timeout |
✓ | RegistryContractAddr | REGISTRY_CONTRACT_ADDR_KEY | 0x49D395eFcE6233e116C69333F249e6cF128D5992 | Eth1 contract address | registry contract address |
X | RegistryContractABI | REGISTRY_CONTRACT_ABI | - | Hard coded By Supported contract address | registry contract abi json file |
X | CleanRegistryData | CLEAN_REGISTRY_DATA | False | Bool | Cleans registry contract data (validator shares) and forces re-sync |
X | AbiVersion | ABI_VERSION | 0 | Int representing version - 0 (legacy) 1 (v2) | smart contract abi parser version |
ETH2 (Yaml Parent Key)
Required | Yaml Key | Env Key | Default | Options | Description |
X | Network | NETWORK | Prater | Prater Mainnet (not yet) | Eth2 network type |
✓ | BeaconNodeAddr | BEACON_NODE_ADDR | - | Url with port. Supports with or without “http://” | Beacon Node Address |
P2P (Yaml Parent Key)
Required | Yaml Key | Env Key | Default | Options | Description |
X | Enr | ENR_KEY | Blox boot node ENR | ENR format | ENR used in discovery |
X | DiscoveryType | DISCOVERY_TYPE_KEY | dicv5 |
| Method to use in p2p discovery |
X | TCPPort | TCP_PORT | 13001 | Int | p2p tcp port |
X | UDPPort | UDP_PORT | 12001 | Int | p2p udp port |
X | HostAddress | HOST_ADDRESS | - | Ip address | External ip node is exposed for discovery (No default unless When using MakeFile than fetching ip with resolver4) |
X | HostDNS | HOST_DNS | - | DNS url | External DNS node is exposed for discovery |
X | RequestTimeout | P2P_REQUEST_TIMEOUT | 5s | Ms (milliseconde) s (secondes) M (minutes) H (hour) | BN (BeaconNode) requests time out. |
X | MaxBatchResponse | P2P_MAX_BATCH_RESPONSE | 50 | Int | Maximum number of returned objects in a batch |
X | MaxPeers | P2P_MAX_PEERS | 250 | Int | maximum number of connected peers |
X | PubSubTraceOut | PUBSUB_TRACE_OUT | - | String | File path to hold collected pubsub traces |
X | NetworkTrace | NETWORK_TRACE | False | Bool | A boolean flag to turn on network debugging |
X | ExporterPeerID | EXPORTER_PEER_ID | 16Uiu2HAkvaBh2xjstjs1koEx3jpBn5Hsnz7Bv8pE4SuwFySkiAuf | String | peer id of exporter in order to avoid connection. |
Last updated