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?