> For the complete documentation index, see [llms.txt](https://helichains-organization.gitbook.io/helichain-white-paper-v2.0.1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://helichains-organization.gitbook.io/helichain-white-paper-v2.0.1/run-node/create-a-validator.md).

# Create a validator

Validators are responsible for committing new blocks in the blockchain. These validators participate in the consensus protocol by broadcasting *votes* which contain cryptographic signatures signed by each validator's private key.

Some Proof-of-Stake consensus algorithms aim to create a "completely" decentralized system where all stakeholders (even those who are not always available online) participate in the committing of blocks. Tendermint has a different approach to block creation. Validators are expected to be online, and the set of validators is permissioned/curated by some external process. Proof-of-stake is not required, but can be implemented on top of Tendermint consensus. That is, validators may be required to post collateral on-chain, off-chain, or may not be required to post any collateral at all.

Validators have a cryptographic key-pair and an associated amount of "voting power". Voting power need not be the same.

## Create your validator

You need to add your `wallet key` using `mnemonic` or create a new key and tranfer `uheli` to its address

```
 helichaind keys add <key_name> 
```

Your `helivalconspub` can be used to create a new validator by staking tokens. You can find your validator pubkey by running:

```
$ helichaind tendermint show-validator
```

To create your validator, just use the following command:

```
helichaind tx staking create-validator \
  --amount=<staking-amount> \
  --pubkey=$(helichaind tendermint show-validator) \
  --moniker="choose a moniker"  \
  --chain-id=<chain-id> \
  --commission-rate="0.10" \
  --commission-max-rate="0.20" \
  --commission-max-change-rate="0.01" \
  --min-self-delegation="1000000" \
  --gas="auto" \
  --gas-prices=<choose gas price> \
  --from=<key_name>
```

You can confirm that you are in the validator set by using a third party explorer or `helichaind cli`

```
helichaind query staking validators
helichaind query tendermint-validator-set
```
