Skip to main content

A utility to generate k8s configs for a Tezos blockchain

Project description

mkchain

Helper program to generate values for the Tezos chain Helm chart

Prerequisites

To run mkchain, you must either have docker or pytezos installed.

Installing Docker

To be consistent with other documentation in this project, we describe how to install docker with minikube. We need to install:

- [docker](https://docs.docker.com/get-docker/),
- [minikube](https://minikube.sigs.k8s.io/docs/),
- [helm](https://helm.sh/),
- and `python3`.

Start minikube and configure your shell environment to use minikube's Docker daemon:

minikube start

eval $(minikube docker-env)

Installing pytezos

This is documented at: https://pytezos.org/quick_start.html#requirements

Install mkchain

mkdir mkchain && cd mkchain
python3 -m venv .venv
. .venv/bin/activate
pip install wheel && pip install mkchain

Set unbuffered IO for python:

export PYTHONUNBUFFERED=x

Generate Helm Values

Set as an environment variable the name you would like to give to your chain:

export CHAIN_NAME=my-chain

Your chain is uniquely defined by a set of values such as bootstrap account keys, chain id, timestamp...

To generate these values run:

mkchain $CHAIN_NAME

This command will create a yaml file in your current working directory: <$CHAIN_NAME>_values.yaml

mkchain parameters

You can explicitly specify some values by:

  • passing CLI parameters to mkchain
  • directly modifying the values yaml file generated by mkchain
  • passing arguments to helm install or helm upgrade commands using the --set flag, which will selectively override the current yaml values
YAML Key mkchain argument Description Default
-h mkchain help message
-v mkchain version
--number-of-bakers Number of baking nodes in the cluster 1
--number-of-nodes Number of non-baking nodes in the cluster 0
bootstrap_peers --bootstrap-peers Peer ips to connect to []
expected_proof_of_work --expected-proof-of-work Node identity generation difficulty 0
images.octez --octez-docker-image Version of the Octez docker image to run tezos/tezos:v17.3
--use-docker (--no...) Use (or don't use) docker to generate keys rather than pytezos autodetect

Create Tezos Chain

Make sure you have the Tezos Helm chart repo:

helm repo add oxheadalpha https://oxheadalpha.github.io/tezos-helm-charts

Then install the Tezos Helm chart:

helm install $CHAIN_NAME oxheadalpha/tezos-chain \
--values ./${CHAIN_NAME}_values.yaml \
--namespace oxheadalpha --create-namespace

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

mkchain-6.25.0-py3-none-any.whl (8.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page