# Register a validator

This document provides information on registering as the FirmaChain’s network Validator.

## staking create-validator

If you join the network as a Validator, you will be signing on newly created blocks and will receive rewards as a result of such action.

#### 1. Check validator public key

```
firmachaind comet show-validator
# output example: {"@type":"/cosmos.crypto.ed25519.PubKey","key":"<BASE64_KEY>"}
```

Retrieve your validator node's public key. You will use the `key` value from the output in the next steps.

#### 2. Create validator config file

```
touch validator.json && vi validator.json
```

Create the file `validator.json` and open it with an editor. This file will contain your  validator config.

#### 3. Fill in validator information

```
{
    "pubkey": "{using pubkey}",
    "amount": "1000000ufct",
    "moniker": "myvalidator",
    "identity": "optional identity signature (ex. UPort or Keybase)",
    "website": "validator's (optional) website",
    "security": "validator's (optional) security contact email",
    "details": "validator's (optional) details",
    "commission-rate": "0.1",
    "commission-max-rate": "0.2",
    "commission-max-change-rate": "0.01",
    "min-self-delegation": "1"
}
```

Fill in the `validator.json` file with the following details:

<table data-header-hidden><thead><tr><th width="218.6991490345118"></th><th width="142"></th><th width="381"></th></tr></thead><tbody><tr><td><strong>Name</strong></td><td><strong>Type</strong></td><td><strong>Description</strong></td></tr><tr><td>amount</td><td>ufct</td><td>Amount to delegate.</td></tr><tr><td>moniker</td><td>string</td><td>Custom username of your node.</td></tr><tr><td>details</td><td>string</td><td>Brief Introduction.</td></tr><tr><td>website</td><td>string</td><td>Your website address. (only if you have one)</td></tr><tr><td>security-contact</td><td>string</td><td>Your e-mail address.</td></tr><tr><td>commission-rate</td><td>float</td><td>Validator's commission rate</td></tr><tr><td>commission-max-rate</td><td>float</td><td>Validator's maximum commission rate.</td></tr><tr><td>commission-max-change-rate</td><td>float</td><td>Maximum rate of change of a validator's commission rate per day.</td></tr><tr><td>min-self-delegation</td><td>integer</td><td>Minimum amount of tokens that the node operator promises to keep bonded.</td></tr><tr><td>identity</td><td>string</td><td>keybase 64bit security code.</td></tr></tbody></table>

#### 4. Submit validator registration

```bash
firmachaind tx staking create-validator validator.json \
--chain-id colosseum-1 \
--fees 20000ufct \
--from <key_name>
```

Run the above command to broadcast the validator registration transaction using the information defined in `validator.json`.

* `--chain-id`: The chain ID of the network (here `colosseum-1`)
* `--fees`: Transaction fee (e.g., `20000ufct`)
* `--from`: The key name that signs the transaction

### How to get identity 64bit code

The process to retrieve this key data is relatively simple. Firstly, log in to keybase.io. Once you generate the key, copy and paste the code provided in the red box in the image below.\
\&#xNAN;*\** *Do not include any space in the --identity field.*

<figure><img src="https://1593777863-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fe2XZ7GS3nYBec5LCbrmQ%2Fuploads%2FPne1ear8wjurJOagIVS2%2Fimage.png?alt=media&#x26;token=539415a8-619f-4441-aa7b-bf4324bd7331" alt=""><figcaption></figcaption></figure>
