📖
Kotal Documentation
  • 👋Welcome
  • 🧠Installation
  • 🚀Quick Start
  • ❤️Support
  • Tutorials
    • 🌊Aptos
      • Deploy Aptos Devnet Node
    • 💸Bitcoin
      • Deploy Bitcoin RPC Node
    • 💎Ethereum
      • Deploy Public Rinkeby Node
      • Deploy Private Clique Network
      • Deploy Private Ethash Network
      • Deploy Private IBFT 2.0 Network
    • 💠Ethereum 2.0
      • Deploy Beacon Node
      • Deploy Validator Client
    • 🔗Chainlink
      • Deploy Chainlink Node
    • 🌈NEAR
      • Deploy NEAR RPC Node
      • Deploy NEAR Validator Node
    • 🔴Polkadot
      • Deploy Polkadot Node
      • Deploy Kusama Validator
    • 📎IPFS
      • Deploy IPFS peer
      • Deploy IPFS cluster peer
    • 🗂️Filecoin
      • Deploy Filecoin Node
    • 🌿Stacks
      • Deploy Stacks RPC Node
      • Deploy Stacks Miner Node
  • Reference
    • Aptos
    • Bitcoin
    • Ethereum
    • Ethereum 2.0
    • Chainlink
    • NEAR
    • Polkadot
    • IPFS
    • Filecoin
    • Stacks
Powered by GitBook
On this page
  • Beacon Node
  • Validator Client
  • Multi-client Support

Was this helpful?

Edit on GitHub
Export as PDF
  1. Tutorials

Ethereum 2.0

We've extended Kubernetes with BeaconNode and Validator custom resources which can be used to deploy Ethereum 2.0 beacon nodes and validator clients from the given spec.

Kotal seperates between beacon node and validator client by using different API resources BeaconNode and Validator. So you can't run a beacon node and validator client in the same process/container.

Beacon Node

BeaconNode is Ethereum 2.0 beacon node -optionally- connecting to Ethereum 1 endpoint and syncing the beacon chain.

Here's an example of ConsenSys Teku beacon node BeaconNode syncing mainnet beacon chain, connecting to Ethereum 1 JSON RPC endpoint, enabling REST API server which is listening at port 8888:

apiVersion: ethereum2.kotal.io/v1alpha1
kind: BeaconNode
metadata:
  name: teku-beacon-node
spec:
  network: mainnet
  client: teku
  rest: true
  restPort: 8888
  eth1Endpoints:
    - http://besu-mainnet-node:8545

For all the fields associated with the BeaconNode API resource:

kubectl explain beaconnode --api-version ethereum2.kotal.io/v1alpha1
kubectl explain beaconnode.spec --api-version ethereum2.kotal.io/v1alpha1

Validator Client

Validator is Ethereum 2.0 validator client connecting to beacon node endpoint and validating blocks using the loaded keystores.

Here's an example of ConsenSys Teku validator client connecting to beacon node endpoint, validating pyrmont blocks using 1 loaded validator keystore from its secret:

apiVersion: ethereum2.kotal.io/v1alpha1
kind: Validator
metadata:
  name: teku-validator
spec:
  network: pyrmont
  client: teku
  beaconEndpoints:
    - http://teku-beacon-node:8888
  graffiti: Validated by Kotal
  keystores:
    - secretName: my-validator

For all the fields associated with the Validator API resource:

kubectl explain validator --api-version ethereum2.kotal.io/v1alpha1
kubectl explain validator.spec --api-version ethereum2.kotal.io/v1alpha1
kubectl explain validator.spec.keystores --api-version ethereum2.kotal.io/v1alpha1

Multi-client Support

Kotal supports the following Ethereum 2.0 beacon node and validator clients:

Setting validator or beacon node client is as simple as changing the spec.client to the desired client.

PreviousDeploy Private IBFT 2.0 NetworkNextDeploy Beacon Node

Last updated 3 years ago

Was this helpful?

Full beacon node reference is documented .

Full validator client reference is documented .

by ConsenSys.

by Sigma Prime.

by Prysmatic Labs.

by Status.im.

💠
here
here
Teku
Lighthouse
Prysm
Nimbus