Ethereum 2.0
BeaconNode
Syntax | Type | Description | Default |
---|---|---|---|
string | Network to join | ||
string | Ethereum 2.0 client to use | ||
array | Ethereum 1 JSON RPC endpoints | ||
array | hostnames to whitelist for RPC access | * | |
array | domains from which to accept cross origin requests | * | |
bool | Enable REST API server | false | |
string | REST API server host | 0.0.0.0 | |
number | REST API server port | 5051 | |
bool | Enables JSON RPC server | false | |
string | JSON RPC server host | 0.0.0.0 | |
number | JSON RPC server port | 4000 | |
bool | GRPC gateway server | false | |
string | GRPC gateway server host | 0.0.0.0 | |
number | GRPC gateway server port | 3500 | |
number | p2p and discovery port | 9000 | |
string | k8s secret name that holds tls.key and tls.crt | ||
string | logging verbosity level | info | |
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 |
---|---|---|---|---|
| ✔️ | ❌ | ❌ | ❌ |
| ✔️ | ❌ | ✔️ | ✔️ |
| ❌ | ❌ | ❌ | ✔️ |
| ❌ | ❌ | ❌ | ✔️ |
| ✔️ | ✔️ | ✔️ | ✔️ |
| ✔️ | ✔️ | ✔️ | ✔️ |
| ✔️ | ✔️ | ✔️ | ✔️ |
| ✔️ | ✔️ | ✔️ | ✔️ |
| ✔️ | ❌ | ✔️ | ✔️ |
| ✔️ | ❌ | ❌ | ❌ |
| ❌ | ✔️ | ❌ | ❌ |
| ❌ | ❌ | ✔️ | ❌ |
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 |
|
cpuLimit | string | number of cpu cores this node is limited to |
|
memory | string | memory this node requires |
|
memoryLimit | string | memory this node is limited to |
|
storage | string | disk space this node requires |
|
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 |
---|---|---|---|
string | Network to validate blocks for | ||
string | Ethereum 2.0 client to use | ||
array | List of beacon node endpoints | ||
string | k8s secret name that holds tls.crt | ||
string | Text to include in proposed blocks | Powered by Kotal | |
string | Wallet password kubernetes secret | ||
array | Validator keystores | ||
string | logging verbosity level | info | |
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
.
keystores
keystores
is array of keystore objects.
Syntax | Type | Description |
---|---|---|
secretName | string | kubernetes secret name holding |
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.
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 |
---|---|---|---|
| ❌ | ❌ | ❌ |
| ❌ | ✔️ | ✔️ |
| ❌ | ❌ | ✔️ |
| ❌ | ❌ | ✔️ |
| ✔️ | ✔️ | ✔️ |
| ✔️ | ✔️ | ✔️ |
| ✔️ | ✔️ | ✔️ |
| ✔️ | ✔️ | ✔️ |
| ❌ | ✔️ | ✔️ |
| ❌ | ❌ | ❌ |
| ✔️ | ❌ | ❌ |
| ❌ | ✔️ | ❌ |
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 |
|
cpuLimit | string | number of cpu cores this node is limited to |
|
memory | string | memory this node requires |
|
memoryLimit | string | memory this node is limited to |
|
storage | string | disk space this node requires |
|
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
.
Last updated