Validator
This page explains how to configure a ChainNode or ChainNodeSet to run a validator. Cosmopilot provides multiple options to suit different use cases.
Existing Consensus Key
Important
Storing mnemonics and private keys in Kubernetes secrets may not be secure and is recommended only for testnets. For production networks, consider using TmKMS for enhanced security.
If a consensus key is already defined in the genesis file as a validator, you can configure the node as follows:
- Create a Kubernetes secret containing the private key:
$ kubectl create secret generic my-validator-key --from-file=my-validator-key.jsonMake sure the secret is created in the same namespace as your ChainNode or ChainNodeSet.
- Specify the secret name in
.spec.validator.privateKeySecret.
Example configuration:
validator:
privateKeySecret: my-validator-keyManual Create-Validator
For nodes that are not validators by default, you can:
- Configure
.spec.validator.info.monikerwith the validator's moniker. - Manually submit a
create-validatortransaction to the blockchain to make the node a validator.
Example configuration:
validator:
info:
moniker: my-validatorAutomated Create-Validator
Cosmopilot can also submit a create-validator transaction for you. For that you need to:
- Either create a Kubernetes secret containing the mnemonic of an account that has funds (the secret name must follow the pattern
<chainnode-name>-account), or wait forCosmopilotto create an account and you can send funds to it later. - Configure
.spec.validator.infoand.spec.validator.createValidator.
Example configuration:
validator:
info:
moniker: my-validator
website: https://validator.example.com
details: "A reliable validator"
identity: "ABCD1234"
createValidator:
stakeAmount: "1000000unibi"
commissionRate: "0.1"
commissionMaxRate: "0.2"
commissionMaxChangeRate: "0.01"
gasPrices: "0.025unibi"
minSelfDelegation: "1"Initializing a New Network
Please refer to Initializing a New Network page for information about setting up new networks.
