Skip to content

Latest commit

 

History

History
 
 

kurtosis

Running BeaconKit with Kurtosis

What is Kurtosis

Kurtosis is a platform for running distributed systems on Docker / Kubernetes. It provides a simple, powerful framework for spinning up and tearing down distributed systems programmatically.

How to Use

To use BeaconKit with Kurtosis, you'll first need to install the Kurtosis CLI and its dependencies. You can find instructions for doing so here.

Docker/local environment

Once you've installed the Kurtosis CLI, you can use it to spin up a Beacon network with the following command from within the root directory of the beacon-kit repo:

make start-devnet

This will automatically build your beacond docker image from the local source code, and spin up a Kurtosis network based on the config file in kurtosis/beaconkit-all.yaml. Once complete, this will output all the network information for your nodes like so:

Example Network

When you want to tear down your network, you can do so with the following commands:

make stop-devnet
make rm-devnet

And that's it!

GCP/remote environment

Requirements: GCP access

Ask for GCP access in #devops if you need it.

Set Kurtosis to run with cloud(GCP)/remote:

kurtosis cluster set minikube

Run the Kurtosis port forward to be able to start your devnet:

kurtosis gateway

Once you've installed the Kurtosis CLI, you can use it to spin up a Beacon network with the following command from within the root directory of the beacon-kit repo:

make start-gcp-devnet-no-build

When you want to tear down your network, you can do so with the following commands:

make stop-gcp-devnet

Cheat sheet

When you have killed a pod/component (in that example: cl-validator-beaconkit-0), restart it with that command:

kurtosis service start my-local-devnet cl-validator-beaconkit-0

Set kurtosis to run with local docker:

kurtosis cluster set docker

Set Kurtosis to run with cloud(GCP)/remote:

kurtosis cluster set minikube