Creating A Validator

1. Creating A New Validator Wallet

You need to provide a local account name of your choice and provide a passphrase. When creating an account, the CLI will ask you to provide a passphrase to encrypt the keystore file: ./hmy keys add [LOCAL ACCOUNT NAME] --passphrase example :

./hmy keys add mylocalaccountname --passphrase

Remember your passphrase. You will need it to decrypt the account keystore in order to send transactions & perform other actions.

Also save your seed phrase (mnemonic) somewhere as well, in case you lose your keystore.

Backing Up Your Keystore File (Optional)

./hmy keys location

The command above will return the location of your account keystore. You may want to create a backup of this file.‌

You can check the list of wallets (local accounts) with the following command:

./hmy keys list

Example output from above command:

#NAME                                  ADDRESS
example-account1                      one1wh4p0kuc7unxez2z8f82zfnhsg4ty6dupqyjt2

Checking Account Balance

Use the following command to check your balance : ./hmy --node="[API_endpoint]" balances [ONE ADDRESS] ex:

./hmy --node="https://api.s0.t.hmny.io" balances one1u6c4wer2dkm767hmjeehnwu6tqqur62gx9vqsd

2. Creating a Validator

Replace everything in [ ] with your own data:

./hmy --node="https://api.s0.t.hmny.io" staking create-validator \
    --validator-addr [ONE ADDRESS] --amount 10000 \
    --bls-pubkeys [BLS PUBLIC KEY1],[BLS PUBLIC KEY2] \
    --name "[NAME]" --identity "[IDENTITY]" --details "DETAILS" \
    --security-contact "CONTACT" --website "YOUR-WEBSITE.COM" \
    --max-change-rate 0.1 --max-rate 0.1 --rate 0.1 \
    --max-total-delegation 100000000 --min-self-delegation 10000 --passphrase

Copy the entire command. Extra white spaces in the command could cause errors.

Name, identity, details, security-contact and website need to be put in double quotes if there are more than one word separated by space (example --name "John the validator").

The CLI will prompt you to enter your BLS key file password.

--validator-addr is the validator ONE address (string)

--amount is the initial amount of ONE you want to stake (float)

--bls-pubkeys takes a comma-separated list of BLS public keys (string)

--name will be the name displayed on the Staking Explorer (string)

--identity unique identifier for the validator (string)

--details is the description of the validator (string)

--security-contact is security contact for the validator (string)

--website will be the website displayed on the Staking Explorer (string)

--max-change-rate is the maximum rate change the validator can do to their commission rate every epoch (float)

--max-rate is the maximum commission rate that the validator can set (float)

--rate is the commission rate of the validator (float)

--max-total-delegation is the maximum amount of ONE that can be delegated to this validator (float)

--min-self-delegation is the minimum amount of ONE the validator must stake to itself (float)

--max-rate and --max-change-rate cannot be changed later.

--min-self-delegation has to be at least 10,000 ONE.

Last updated

Was this helpful?