Nodethat uses a custom genesis block to join a private Proof of Authority network using ibft2 consensus configuration in the genesis block.
client: besu, enabling JSON-RPC server
rpc: trueso we can query number of peers later in this tutorial, and we're loading the node private key from Kubernetes secretd called
0xbAa5f05af4A67A467cEcA89085f162aFb4206Aaathat's corresponding to the node private key is in the initial block validators.
4444as network and chain identifier, and we start the chain with 3 validators as defined by
besu-ibft2-nodeand will create all the necessary pods, persistent volumes, services, configmaps, and secrets.
client: geth, starting the PoA consensus engine
miner: true, setting the second address in the genesis validators list
spec.genesis.ibft2.validatorsas the coinbase
coinbase: "0xc1381ED43B327e3C7A1ADb21285f1e9cB82Bc00d", and loading the validator account private key and password from kubernetes secrets
passwordSecretName: .... We're connecting to the first node using
staticNodesoption which accepts
Nodename or enode url.
geth-ibft2-nodeand will create all the necessary pods, persistent volumes, services, configmaps, and secrets.
spec.genesis.ibft2.validators. Nethermind client is similar to geth, you will import validator account private key and password from kubernetes secrets, and use the same genesis as the other nodes.