How to become a validator on KleverChain

Hello KleverChain enthusiasts, want to know what you need to become a validator and what you can do?

So, to become a KleverChain validator node you will need 10M KLV staked, from that, at least 1.5M must be self-staked, the remaining amount can be from delegation.

How to register a validator using CLI

Registering a validator is done in this way:

docker run -it --rm --user "$(id -u):$(id -g)" \
    -v $(pwd)/wallet:/opt/klever-blockchain \
    --network=host \
    --entrypoint=/usr/local/bin/operator \
    kleverapp/klever-go:latest \
    --key-file=./walletKey.pem \
    --node=https://node.mainnet.klever.finance \
    validator create \
    klv1h7vx629mwuv4pnecn0k9clxp9rt7rquat3kvydgu8npt20e0ntjq3jhd40 \
    --bls=ce3aa977d1028e2a91730259c4b66cd862b77c63253fa12932012288108a0b7f110da4a2e3e1c15cc94802a79afef418f9a724a1ebe1423c0fa897bae669f1735b082ff3f19b3e00acc76a2bb0f31b1856e3e55952655386fbedad9c55322b81 \
    --rewards=klv1h7vx629mwuv4pnecn0k9clxp9rt7rquat3kvydgu8npt20e0ntjq3jhd40 \
    --name=MyValidatorName \
    --logo="https://klever.finance/wp-content/uploads/2021/09/logo.svg" \
    --commission=5 \
    --maxDelegation=12000000 \
    --uris="github=github.com/klever-io"

The command follows this pattern:[OWNER_ADDR]. where:

--bls is the BLS key
--rewards is the address to whom the rewards are given.
--name represents the Node name.
--logo is the URL for the validator’s image.
--commission is the commission of the validator.
--maxDelegation is the max amount of delegation the validator can receive.
--uris is a key=value list of URIS.

  • Make sure you have entered the correct BLS pub key
  • One can also use public node to send the transaction

How to freeze KLV for staking

In order to freeze KLV, you should type the following code:

docker run -it --rm --user "$(id -u):$(id -g)" \
    -v $(pwd)/wallet:/opt/klever-blockchain \
    --network=host \
    --entrypoint=/usr/local/bin/operator \
    kleverapp/klever-go:latest \
    --key-file=./walletKey.pem \
    --node=https://node.mainnet.klever.finance account freeze 10000000

After the “freeze” instruction, there is this structure: [AMOUNT].

[AMOUNT] for how much is being frozen.

–kda is the Asset ID.

The minimum amount allowed to stake KLV is 1000 KLV.

How to Delegate frozen KLV to node

Delegate to an address [TO], pointing to the bucket [BUCKET_ID] where the frozen KLV is located.

docker run -it --rm --user "$(id -u):$(id -g)" \
    -v $(pwd)/wallet:/opt/klever-blockchain \
    --network=host \
    --entrypoint=/usr/local/bin/operator \
    kleverapp/klever-go:latest \
    --key-file=./walletKey.pem \
    --node=https://node.mainnet.klever.finance \
    account delegate \
    klv186vg5k3pqetmfuy04620htcvz3krugu7hqe4ukczdy48r222j78q9y8vm5 \
    --bucketID=db0748c562c413a68b21a75249e1b936339fc03513e0bf076d3850b7a81113d2

It’s important to know that there’s a minimum self-staking amount for the validator. The structure for delegate command is:

[DELEGATE TO ADDRESS].

[DELEGATE TO ADDRESS] is the address you want to delegate the frozen bucket power (in this case your validator address)

--bucketID is the bucket hash, which can be found in the frozen TX ID or in Klever testnet explorer.

WIth the operator CLI, you can check the bucket ID with the command tx-by-id followed by the hash of the freeze transaction:

docker run -it --rm --user "$(id -u):$(id -g)" \
    -v $(pwd)/wallet:/opt/klever-blockchain \
    --network=host \
    --entrypoint=/usr/local/bin/operator \
    kleverapp/klever-go-testnet:latest \
    --key-file=./walletKey.pem \
    tx-by-id \
    45db3a993b64323df2d9841c0ac9a78c8a1760804557a65ca866163e64138bbf

The Bucket ID can be found in the TX Receipt.

Edit the validator settings (change node BLS Pubkey and commission)

You can change the validator configuration using this command:

docker run -it --rm --user "$(id -u):$(id -g)" \
    -v $(pwd)/wallet:/opt/klever-blockchain \
    --network=host \
    --entrypoint=/usr/local/bin/operator \
    kleverapp/klever-go:latest \
    --key-file=./walletKey.pem \
    --node=https://node.mainnet.klever.finance \
    validator config \
    klv1h7vx629mwuv4pnecn0k9clxp9rt7rquat3kvydgu8npt20e0ntjq3jhd40 \
    --bls=ce3aa977d1028e2a91730259c4b66cd862b77c63253fa12932012288108a0b7f110da4a2e3e1c15cc94802a79afef418f9a724a1ebe1423c0fa897bae669f1735b082ff3f19b3e00acc76a2bb0f31b1856e3e55952655386fbedad9c55322b81 \
    --rewards=klv1h7vx629mwuv4pnecn0k9clxp9rt7rquat3kvydgu8npt20e0ntjq3jhd40 \
    --name=MyValidatorName \
    --logo="https://klever.finance/wp-content/uploads/2021/09/logo.svg" \
    --commission=5 \
    --maxDelegation=12000000 \
    --uris="github=github.com/klever-io"

Here’s the structure: [OWNER_ADDRESS], where:

--bls is the BLS key
--rewards is the address to whom the rewards are given.
--name represents the Node name.
--logo is the URL for the validator’s image.
--commission is the commission of the validator.
--maxDelegation is the max amount of delegation the validator can receive.
--uris is a key=value list of URIS.

We hope you found this post helpful and informative. We are here to support you on your journey as a KleverChain validator. If you still have any questions or suggestions, please feel free to share them with us. We are eager to hear about your experiences and assist you in achieving maximum success as a validator. Together, we can build a strong and thriving community. We look forward to your questions and suggestions! :rocket:

1 Like