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
beacon.yaml
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:8545
In 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.yaml
Kotal 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 beaconnodes
It will return an output similar to the following:
NAME CLIENT Network AGE
teku-beacon-node teku pyrmont 1m
Get the pods created for the beacon node:
kubectl get pods
It will return an output similar to the following:
NAME READY STATUS RESTARTS AGE
teku-beacon-node-0 1/1 Running 0 1m
Get the logs of the running beacon node:
kubectl logs -f teku-beacon-node-0
Get the service created for the beacon node:
kubectl get services
It 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 7s
Forward the localhost:8888 calls to the beacon node
kubectl port-forward teku-beacon-node-0 8888
In another terminal window, send REST API call to get chain genesis details:
curl localhost:8888/eth/v1/beacon/genesis
You'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-node
Kubernetes garbage collector will delete all the resources that has been created by Kotal Ethereum 2.0
BeaconNode
controller.Last modified 1yr ago