Startup scripts for multiclient interop testnet. Currently only the scripts for nimbus and lighthouse have been kept up-to-date.
https://kind.sigs.k8s.io/docs/user/quick-start/
GO111MODULE="on" go get sigs.k8s.io/kind@v0.8.1
kind create cluster
kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
helm init --service-account tiller
Images are available on dockerhub actually, they are built daily, so this is completely optional
cd scripts
docker build --target multinet-nimbus -t eth2clients/multinet-nimbus .
kind load docker-image multinet-nimbus --name kind
docker build --target multinet-lighthouse -t eth2clients/multinet-lighthouse .
kind load docker-image multinet-lighthouse --name kind
docker build --target multinet-prysm -t eth2clients/multinet-prysm .
kind load docker-image multinet-prysm --name kind
Customize multinet-cluster/values.yaml
helm install ./multinet-cluster
NIMBUS_DEV_NODES
must be more then 0 in values.yaml
Also set the local persistent path NIMBUS_SOURCE_PATH
kubectl exec --stdin --tty nimbus-dev-0 -- /bin/bash
cd nimbus-src
make update
source env.sh
export NIMFLAGS="-d:insecure -d:metrics -d:libp2p_expensive_metrics -d:chronicles_log_level=TRACE -d:chronicles_colors=off --warnings:off --hints:off --opt:speed -d:const_preset=/root/multinet/repo/data/testnet/config.yaml"
nim c -o:beacon_node $NIMFLAGS beacon_chain/beacon_node
./beacon_node --finalized-checkpoint-state:/root/multinet/repo/data/testnet/genesis.ssz --bootstrap-file=/root/multinet/repo/data/testnet/bootstrap_nodes.txt --log-file=nimbus.log --data-dir=/root/multinet/repo/deposits/nimbus-dev-0 --log-level="DEBUG;TRACE:switch" --metrics
cd scripts
docker-compose up
Use the respective docker volumes, just simply attach from another container e.g.:
docker run -it --rm -v nimbus-source:/tmp/nimbus ubuntu bash
Using this trick you could even attach via visual studio code and SSH integration.
CC0 (Creative Common Zero)
For some reason (due to the build.rs
in deposit_contract
project) lighthouse will need to build again (we built already in the Dockerfile...) the first time docker-compose up
will run.