This document provides instructions on how to run a localnet with multiple validator/non-validator nodes. This can be useful if you are developing applications to work on cheqd network, or in automated testing pipelines.
The techniques described here are used in CI/CD contexts, for example, in this repository itself in the test.yml Github workflow.
Pre-requisites
A clone of the
Either , or (the latter is mandatory if you've modified any code in the repository cline).
Docker Engine and Docker Compose (same versions as described in )
Instructions
Our localnet setup instructions are designed to set up a local network with the following node types:
3x validator nodes
1x non-validator/observer node
1x seed node
The definition for this network is described in a , which can be modified as required for your specific use case. Since it's not possible to cover all possible localnet setups, the following instructions describe the steps necessary to execute a setup similar to that using in .
Generate localnet configuration (one-time)
Execute the to generate validator keys and node configuration for the node types above.
You may modify the output if you want a different mix of node types.
Import the generated keys (one-time)
Import the keys generated using the :
Bring up the localnet using Docker Compose
Modify the docker-compose.yml file if necessary, along with the per-container environment variables under the container-env folder.
Interacting with localnet
The default Docker localnet will configure a running network with a pre-built image or custom image.
Nodes
The five nodes and corresponding ports set up by the default Docker Compose setup will be:
Validator nodes
validator-0
P2P
You can tests connection to a node using browser: http://localhost:<rpc_port>. Example for the first node: http://localhost:26657.
Accounts
Key and corresponding accounts will be placed in the network config folder by the import-keys.sh script, which are used within the nodes configured above.
When connecting using CLI, provide the --home parameter to any CLI command to point to the specific home directory of the corresponding node: --home network-config/validator-x.
CLI commands
See to learn about the most common CLI commands.
A cheqd-node binary to run the network config generation script below.