Skip to main content

A utility to generate k8s configs for a Mavryk blockchain

Project description

mkmavrykchain

Helper program to generate values for the Mavryk chain Helm chart

Prerequisites

To run mkmavrykchain, you must either have docker or pymavryk 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 pymavryk

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

Install mkmavrykchain

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

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:

mkmavrykchain $CHAIN_NAME

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

If you configure your chain to run over a Zerotier VPN, mkmavrykchain will create an additional file for invitees to join your network: <$CHAIN_NAME>_invite_values.yaml.

mkmavrykchain parameters

You can explicitly specify some values by:

  • passing CLI parameters to mkmavrykchain
  • directly modifying the values yaml file generated by mkmavrykchain
  • passing arguments to helm install or helm upgrade commands using the --set flag, which will selectively override the current yaml values
YAML Key mkmavrykchain argument Description Default
-h mkmavrykchain help message
-v mkmavrykchain 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.mavkit --mavkit-docker-image Version of the Mavkit docker image to run mavrykdynamics/mavryk:v19.3
--use-docker (--no...) Use (or don't use) docker to generate keys rather than pymavryk autodetect
zerotier_config.zerotier_network --zerotier-network Zerotier network id for external chain access
zerotier_config.zerotier_token --zerotier-token Zerotier token for external chain access

Create Mavryk Chain

Make sure you have the Mavryk Helm chart repo:

helm repo add mavryk-network https://mavryk-network.github.io/mavryk-helm-charts

Then install the Mavryk Helm chart:

helm install $CHAIN_NAME mavryk-network/mavryk-chain \
--values ./${CHAIN_NAME}_values.yaml \
--namespace mavryk-network --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

If you're not sure about the file name format, learn more about wheel file names.

mkmavrykchain-6.30.4-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file mkmavrykchain-6.30.4-py3-none-any.whl.

File metadata

  • Download URL: mkmavrykchain-6.30.4-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mkmavrykchain-6.30.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ab5e4cd9ed609f6591f475a756f7f3599c9623a4ff43a978a6e1d1185c4f0113
MD5 3263e9cb7d3801e2a868b131b185116a
BLAKE2b-256 9b294c0ba267c6d9be934b8e7ea08ba58e4dd9965dff08a09de2e9846b32dd6b

See more details on using hashes here.

Supported by

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