πŸ”TMKMS

The Tendermint Key Management System (or TMKMS) should be used by any validator currently or intending to be in the active validator set. This application mitigates the risk of double-signing and provides high-availability to validator keys while keeping these keys on a separate physical host. While TMKMS can be used on the same machine as the validator, it is recommended to be on a separate host.

DOCS

GitHub

Let's look at an example - Canto

Create new user (from root)

Install RUST

Compile and sort TMKMS binaries

Create and Init TKMS working directory

Import Private key

  • Upload your validator priv_validator_key.json to directory /home/tmkms/priv_validator_key.json

Then check availablity

If right output is appeared, follow next step below

Now we can erase copy of original file

  • Swap tmkms.toml to the one below. The only "addr =" field edit need to be done, replace it with your validator node IP + port(26658 default)

Create service file and run TMKMS

Start

  • #ERROR tmkms::client: [canto_7700-1@tcp://91.19.90.20:21218] I/O error: Connection refused (os error 111)

Its NORMAL

error
  • LAST STEPS. Activate signing from canto node side

  • Find field priv_validator_laddr = "" at dir $HOME/.cantod/config/config.toml and edit to your Validator IP + port

  • Example : priv_validator_laddr = "tcp://0.0.0.0:26658" (Line 68 +-)

Make sure your firewall open only for KMS server IP to allow connect to port 26658 (or any custom port u set)

Restarting the Validator Node

Make sure that the logs are good

Good
  • delete priv_validator_key.json from the validator node and restart again. Everything should work

Helpful commands

su tmkms && cd

Logs

sudo journalctl -fu tmkmsd-canto -o cat

Restart

sudo systemctl restart tmkmsd-canto && sudo journalctl -fu tmkmsd-canto -o cat

Last updated

Was this helpful?