Ethereum 2.0

BeaconNode

Syntax
Type
Description
Default
​network​
string
Network to join
​
​client​
string
Ethereum 2.0 client to use
​
​eth1Endpoints​
array
Ethereum 1 JSON RPC endpoints
​
​hosts​
array
hostnames to whitelist for RPC access
*
​corsDomains​
array
domains from which to accept cross origin requests
*
​rest​
bool
Enable REST API server
false
​restHost​
string
REST API server host
0.0.0.0
​restPort​
number
REST API server port
5051
​rpc​
bool
Enables JSON RPC server
false
​rpcHost​
string
JSON RPC server host
0.0.0.0
​rpcPort​
number
JSON RPC server port
4000
​grpc​
bool
GRPC gateway server
false
​grpcHost​
string
GRPC gateway server host
0.0.0.0
​grpcPort​
number
GRPC gateway server port
3500
​p2pPort​
number
p2p and discovery port
9000
​certSecretName​
string
k8s secret name that holds tls.key and tls.crt
​
​logging​
string
logging verbosity level
info
​resources​
object
Node compute and storage resources
​

network

network is Ethereum 2.0 network to join and sync its beacon chain.

client

client is the Ethereum 2.0 client to use.
client possible values are teku,prysm,lighthouse, and nimbus.

eth1Endpoints

eth1Endpoints is array of Ethereum 1 JSON RPC endpoints.
prysm, teku, and lighthouse clients support multiple endpoints in eth1Endpoints.
nimbus client supports only 1 endpoint in eth1Endpoints.

hosts

hosts is a list of host names to whitelist for RPC access (server enforced).

corsDomains

corsDomains is a list of domains from which to accept cross-origin requests (browser enforced).

rest

rest enables REST API server.
REST API server is only supported by teku and lighthouse.

restHost

restHost is the REST API server host.

restPort

restPort is the REST API server port.

rpc

rpc enables JSON RPC server.
JSON RPC server is only supported by nimbus and prysm.

rpcHost

rpcHost is the JSON RPC server host.

rpcPort

rpcPort is the JSON RPC server port.

grpc

grpc enables GRPC gateway server.
GRPC gateway is only supported by prysm client.

grpcHost

grpcHost is the GRPC gateway server host.

grpcPort

grpcPort is the GRPC gateway server port.

p2pPort

p2pPort is the p2p and discovery port.

certSecretName

certSecretName is k8s secret name that holds TLS private key in data field called tls.key and TLS certificate in data field called tls.crt.
certSecretName is supported only by prysm client.

logging

logging is logging verbosity level.
Different levels are supported by different Ethereum 2.0 beacon node clients.
Logging/Client
Teku
Lighthouse
Prysm
Nimbus
off
βœ”οΈ
❌
❌
❌
fatal
βœ”οΈ
❌
βœ”οΈ
βœ”οΈ
none
❌
❌
❌
βœ”οΈ
notice
❌
❌
❌
βœ”οΈ
error
βœ”οΈ
βœ”οΈ
βœ”οΈ
βœ”οΈ
warn
βœ”οΈ
βœ”οΈ
βœ”οΈ
βœ”οΈ
info
βœ”οΈ
βœ”οΈ
βœ”οΈ
βœ”οΈ
debug
βœ”οΈ
βœ”οΈ
βœ”οΈ
βœ”οΈ
trace
βœ”οΈ
❌
βœ”οΈ
βœ”οΈ
all
βœ”οΈ
❌
❌
❌
critical
❌
βœ”οΈ
❌
❌
panic
❌
❌
βœ”οΈ
❌

resources

resources allocates compute and storage resources to the node.
resources object has the following fields:
Syntax
Type
Description
Defalt
cpu
string
number of cpu cores this node requires
4
cpuLimit
string
number of cpu cores this node is limited to
8
memory
string
memory this node requires
8Gi
memoryLimit
string
memory this node is limited to
16Gi
storage
string
disk space this node requires
200Gi
storageClass
string
Node volume storage class
Cluster's default storage class will be used as defined by cluster admin or cloud provider
memory and storage requests and limits must use the pattern ^[1-9][0-9]*[KMGTPE]i$ for example 1500Mi, 30Gi, and 1Ti.
cpu requests and limits must use the pattern ^[1-9][0-9]*m?$ for example 1000m (which is equal to 1 core), 1500m which is 1.5 core, 2 cores, and 4 cores.
cpuLimit can't be less than cpu.
memoryLimit can't be less than or equal to memory.
storageClass field is immutable, it cannot be changed after creation.

Validator

Syntax
Type
Description
Default
​network​
string
Network to validate blocks for
​
​client​
string
Ethereum 2.0 client to use
​
​beaconEndpoints​
array
List of beacon node endpoints
​
​certSecretName​
string
k8s secret name that holds tls.crt
​
​graffiti​
string
Text to include in proposed blocks
Powered by Kotal
string
Wallet password kubernetes secret
​
​keystores​
array
Validator keystores
​
​logging​
string
logging verbosity level
info
​resources​
object
Validator compute and storage resources
​

network

network is the Network to validate blocks for.

client

client is the Ethereum 2.0 client to use.

beaconEndpoints

beaconEndpoints is a list of beacon node endpoints.
lighthouse is the only client that supports multiple endpoints. All other clients supports only a single endpoint.

certSecretName

certSecretName is k8s secret name that holds TLS certificate in data field called tls.crt.
certSecretName is supported only by prysm client.

graffiti

graffiti is the text to include in proposed blocks.

walletPasswordSecretName

walletPasswordSecretName is prysm wallet password kubernetes secret.
walletPasswordSecretName is supported only by prysm client.
Wallet password secret must be deployed before deploying the validator.
Wallet password secret must contain the password in key named password.
# create k8s secret from password value
kubectl create secret wallet-password --from-literal=password=<actual-password>
# create k8s secret from password file
kubectl create secret wallet-password --from-file=password=<password-file-path>

keystores

keystores is array of keystore objects.
Syntax
Type
Description
secretName
string
kubernetes secret name holding keystore and password
publicKey
string
Validator public key in hexadecimal
Validator keystore public key is required in case of client: lighthouse
Keystore secret must be deployed before deploying the validator.
Keystore secret must contain the BLS12-381 keystore JSON file in data field key called keystore key, and password in password key.
# create k8s secret from keystore and password file
kubectl create secret my-validator --from-file=keystore=/path/to/keystore.json --from-file=password=/path/to/password.txt

logging

logging is logging verbosity level.
Different levels are supported by different Ethereum 2.0 beacon node clients.
Teku validator client doesn't support logging. Verbosity level will be ignored πŸ™ˆ
Logging/Client
Lighthouse
Prysm
Nimbus
off
❌
❌
❌
fatal
❌
βœ”οΈ
βœ”οΈ
none
❌
❌
βœ”οΈ
notice
❌
❌
βœ”οΈ
error
βœ”οΈ
βœ”οΈ
βœ”οΈ
warn
βœ”οΈ
βœ”οΈ
βœ”οΈ
info
βœ”οΈ
βœ”οΈ
βœ”οΈ
debug
βœ”οΈ
βœ”οΈ
βœ”οΈ
trace
❌
βœ”οΈ
βœ”οΈ
all
❌
❌
❌
critical
βœ”οΈ
❌
❌
panic
❌
βœ”οΈ
❌

resources

resources allocates compute and storage resources to the node.
resources object has the following fields:
Syntax
Type
Description
Defalt
cpu
string
number of cpu cores this node requires
4
cpuLimit
string
number of cpu cores this node is limited to
8
memory
string
memory this node requires
8Gi
memoryLimit
string
memory this node is limited to
16Gi
storage
string
disk space this node requires
200Gi
memory and storage requests and limits must use the pattern ^[1-9][0-9]*[KMGTPE]i$ for example 1500Mi, 30Gi, and 1Ti.
cpu requests and limits must use the pattern ^[1-9][0-9]*m?$ for example 1000m (which is equal to 1 core), 1500m which is 1.5 core, 2 cores, and 4 cores.
cpuLimit can't be less than cpu.
memoryLimit can't be less than or equal to memory.
Export as PDF
Copy link
Outline
BeaconNode
Validator