Tendermint_KMS

Neutron Create Validator High Availability with Tendermint KMS

Terndermint KMS is Key Management System for Tendermint applications such as Cosmos Validators. This repository contains tmkms, a key management service intended to be deployed in conjunction with Tendermint applications (ideally on separate physical hosts) which provides the following:

  • High-availability access to validator signing keys

  • Double-signing prevention even in the event the validator process is compromised

  • Hardware security module storage for validator keys which can survive host compromise

So lets start to begin.

Prerequisites

We recommended you to run KMS service in a separate machine. Becasue this service work for just in case if your another validators down, you have a backup validator.

Hardware
Chunk-Only Producer Specification

OS

Linux Ubuntu 20.04

CPU Architectures

X86_64

Install All Dependencies

Rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env

GCC

Libusb

Install & Setup TMKMS

Copy your validator keys from Your Node Server

Change your_node_ip with your Node Public IP Address.

import validator key into tmkms

Config tmkms to Neutron Testnet Chain ID

Create Service for TMKMS

Access and Modify Your Config Node and Validator

Add into config.toml

Comment or remark this

Restart Neutrond Services

Go back to your KMS Server and start tmkms service

Congrats, You should now be signing blocks! If you cancel the TMKMS process, you will no longer sign blocks and will stop syncing. If you restart the TMKMS process, your validator node will continue to sync from where it left off.

How To Check Result

Check on Your Node Validator Server, if that showing your Address and Pubkey that Successfully

Check On Tendermint KMS Server, find and search this "state connected to validator successfully" after you start kms services

Last updated