topology.kubernetes.io/zone
network
is the public network name to join, like rinkeby
.network
can't be provided in private networks, where .spec.genesis
is not null.network
can't be updated (immutable).highlyAvailable
controls if Ethereum nodes will be scheduled on different Kubernetes nodes.topologyKey
is Kubernetes node label key used to distribute ethereum nodes pods on different kubernetes nodes.bootnodes
is ethereum node URLs for p2p network discovery and bootstraping.bootnodes
accepts ethereum node URL enodeURL
or a reference to kotal Node
in the form of name.namespace
where namespace is optional if referenced node is in the same namespace.bootnodes
will override these bootnodes.client
is the Ethereum client name powering the node.client
possible values are besu
, geth
, nethermind
.besu
client can be used if network consensus is ibft2
.besu
can be used in fixed difficulty proof of work networks, where spec.genesis.ethash.fixedDifficulty
is not null.coinbase
is ethereum account to which mining rewards are paid.coinbase
is required if the node is mining miner: true
.corsDomains
is a list of domains from which to accept cross-origin requests (browser enforced).*
will be used if HTTP RPC server is enabled rpc: true
or web socket server is enabled ws: true
or graphQL server is enabled graphql: true
.graphql
enables the GraphQL server.graphqlPort
GraphQL server listening port.8547
will be used if the graphQL server is enabled graphql: true
.hosts
is a list of host names to whitelist for RPC access (server enforced).import
is the ethereum account to import. Only for nodes running with geth
or nethermind
.geth
or nethermind
clients wants to be a signer or miner.key
password
logging
is Ethereum node logging verbosity level.logging
possible values are off
, fatal
, error
, warn
, debug
, info
, trace
and all
.off
fatal
error
warn
debug
info
trace
all
miner
enables node mining or signing blocks.nodePrivateKeySecretName
is the node private key.nodePrivateKeySecretName
is required if the node is a boot node bootnode: true
, or if besu node with client: besu
is a signer in proof of authority clique network or validator in ibft2 network.p2pPort
is node p2p port for communication (TCP) and discovery (UDP).resources
allocates compute and storage resources to the node.2
in private, 4
in public3
in private, 6
in public4Gi
in private, 8Gi
in public8Gi
in private, 16Gi
in public100Gi
in private, 6Ti
in mainnet with full sync, 750Gi
in mainnet wit fast sync, 25Gi
in public test networks^[1-9][0-9]*[KMGTPE]i$
for example 1500Mi
, 30Gi
, and 1Ti
.^[1-9][0-9]*m?$
for example 1000m
(which is equal to 1
), 1500m
, 2
, and 4.
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.rpc
enables the HTTP RPC server.rpcPort
is the HTTP RPC server listening port.8545
will be used if the HTTP RPC server is enabled with rpc: true
.rpcAPI
is a list of RPC services to enable.["web3", "eth", "net]
will be used if HTTP RPC server is enabeld with rpc: true
.staticNodes
is a set of trusted ethereum nodes to maintain connection to.staticNodes
accepts ethereum node URL enodeURL
or a reference to kotal Node
in the form of name.namespace
where namespace is optional if referenced node is in the same namespace.syncMode
is Blockchain synchronization mode.syncMode
possible values are light
, full
, snap
or fast
.light
and snap
sync modes are only supported by go-ethereum client.ws
enables the web socket server.wsPort
is the web socket server listening port.8546
is used if the web socket server is enabled with ws: true
.wsAPI
is a list of rpc services to enable.["web3", "eth", "net]
will be used if the web socket server is enabeld with ws: true
.genesis
is the genesis block configuration.genesis
is required in private networks.0x00..00
chainId
is required.chainId
can't reuse existing public network chain id to avoid transaction replay.id
is the network id used for p2p communications between network nodes in private networks.id
is required in private networks.id
can't be provided while joining a public network.id
can't be updated (immutable).coinbase
is the beneficiary (ethereum address) of mining reward.coinbase
is optional.difficulty
is the difficulty of the genesis block.difficulty
is optional.mixHash
is combined with the nonce to prove the effort spent to create a block.mixHash
is optional.gasLimit
is the total gas limit for all transactions in a block.gasLimit
is optional.nonce
is a random number used in block computation.nonce
is optional.timestamp
is block creation date.timestamp
is optional.forks
is an object, where the key is fork name and the value is the block number at which to activate this fork.forks
is optional.forks
is missing, all forks will be activated at block 0 (genesis block) except DAO.muirglacier
can't be activated before earlier forks like homestead
. They must be ordered as in the following table:accounts
is an array of accounts to fund or store code.accounts
is optional.accounts
is recommended for networks where signers or validators are not rewarded with eth.ethash
is Proof of Work consensus engine configuration.ethash
is optional.ethash
can be set only in proof of work private networks.ethash.fixedDifficulty
has no default value.ethash.fixedDifficulty
is only supported by Hyperledger Besu Client client: besu
clique
is Proof of Authority clique consensus engine configuration.clique
is optional.clique
can be set only in proof of authority clique private networks.clique.signers
is required.ibft2
is IBFT2 engine configuration.ibft2
is optional.ibft2
can be set only in IBFT2 private networks.ibft2.validators
is required.