You will need to generate one or more BLS keys in order to run a validating node. When generating a BLS key, the CLI will ask you to provide a passphrase to encrypt the BLS key file.
On the command above --count
defines the number of BLS keys you want to generate and --shard
the shard associated. On this example, we are generating 1 BLS key on shard 1.
Remember your passphrase. You will need it to decrypt the BLS key file in order to create a validator & start a node with that key.
Create a backup of your BLS key file or save the BLS private key (optional).
The BLS public key is the same as the name of the file, without the .key
.
1. You need to manually create a folder called .hmy/blskeys
:
2. Copy all the previously created BLS key(s) to this new folder:
Make sure all your BLS keys belong to the same shard when using multiple BLS keys. You can use the command below to check each one of them.
3. For each BLS key file, a corresponding <blskey>.pass
file needs to be created inside folder.hmy/blskeys
with the passphrase inside it.
following this format :
you should finally have in your .hmy/blskeys folder :
It is forbidden now to run multiple nodes using the same set of BLS keys. As we are moving towards full decentralization, external validators will become the shard leader and start to propose blocks. If one validator runs multiple nodes using the same set of valid keys, they may all become valid leaders when the key is rotated to this validator, in this case, the blockchain is experiencing a high risk of hard-fork as different valid leaders may propose different blocks. So, do not run redundant validator nodes anymore on the Harmony blockchain. This is also strictly forbidden on all PoS blockchains such as Ethereum 2, Cosmos.