Deploy Beacon Node
The Beacon Chain is the coordination mechanism of the new network, responsible for creating new blocks, making sure those new blocks are valid, and rewarding validators with ETH for keeping the network secure. Source
Deploy Beacon Node
apiVersion: ethereum2.kotal.io/v1alpha1
kind: BeaconNode
metadata:
name: teku-beacon-node
spec:
network: pyrmont
client: teku
rest: true
restPort: 8888
eth1Endpoints:
- http://goerli-besu-node:8545In this beacon node, we're using ConsenSys Teku Ethereum 2.0 client client: teku, and syncing the pyrmont network beacon chain network: pyrmont. We also enable REST API server rest: true at port 8888 restPort: 8888. We're connecting to Ethereum 1 endpoint eth1Endpoints: .... Check Ethereum tutorial on how to deploy an Ethereum node.
Let's deploy the beacon node:
kubectl apply -f beacon.yamlKotal operator will notice your teku-beacon-node and will create all the necessary pods, persistent volumes, services, configmaps, and secrets.
You can fetch the deployed Ethereum 2.0 BeaconNode using:
kubectl get beaconnodesIt will return an output similar to the following:
NAME CLIENT Network AGE
teku-beacon-node teku pyrmont 1mFetch Beacon Node Logs
Get the pods created for the beacon node:
kubectl get podsIt will return an output similar to the following:
NAME READY STATUS RESTARTS AGE
teku-beacon-node-0 1/1 Running 0 1mGet the logs of the running beacon node:
kubectl logs -f teku-beacon-node-0Call /eth/v1/beacon/genesis REST API
/eth/v1/beacon/genesis REST APIGet the service created for the beacon node:
kubectl get servicesIt will return an output similar to the following:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
teku-beacon-node ClusterIP 10.96.197.218 <none> 9000/UDP,9000/TCP,8888/TCP 7sForward the localhost:8888 calls to the beacon node
kubectl port-forward teku-beacon-node-0 8888In another terminal window, send REST API call to get chain genesis details:
curl localhost:8888/eth/v1/beacon/genesisYou'll get a result similar to the following:
{
"data": {
"genesis_time": "1606824023",
"genesis_validators_root": "0x4b363db94e286120d76eb905340fdd4e54bfe9f06bf33ff6cf5ad27f511bfe95",
"genesis_fork_version": "0x00000000"
}
}Finally delete the beacon node:
kubectl delete beaconnode teku-beacon-nodeKubernetes garbage collector will delete all the resources that has been created by Kotal Ethereum 2.0 BeaconNode controller.
Last updated
Was this helpful?