Installation

Prerequisites

Programs and applications

curl: Required for fetching external IPs and interacting with web services. Ensure it is installed and configured on your system. git: Needed for cloning repositories and managing code changes. Install it and ensure familiarity with basic commands. text editor: Use any editor (e.g., Vim, Nano) to update configuration files as needed

Currently, validators are selected manually and require access to private GitHub repositories. These repositories will be made open-source in the near future.

To gain access and prepare your environment, you must: 1. Set up an SSH key

  • Generate an SSH key.

  • Add the SSH key to your GitHub account. 2. Accept the repository invitation

  • Once your SSH key is linked to your GitHub account, you will receive an invitation to access the necessary repositories. 3. Ensure required permissions and tools You will need sudo access on your machine to manage installations and configurations.

Ensure the git command is installed and configured, as it is required to clone the Kima repositories. Note: For assistance with setting up an SSH key or linking it to GitHub, refer to GitHub's SSH setup guide.

Proper SSH configuration and access permissions ensure secure and seamless repository access.

Network

Public static IP

Open Ports:

  • 22: SSH (Secure Shell) protocol

  • 26656: Cosmos app CometBFT gossiping port for consensus

  • 26657: Cosmos app CometBFT RPC port

  • 9090: Cosmos app gRPC port

  • 5051: TSS-ECDSA P2P port 5052: TSS-EDDSA P2P port

  • 5053: TSS app EDDSA (Solana chain signer) gossiping port

  • 8081: TSS-ECDSA info address 8082: TSS-ECDSA info address

  • 7070: Cosmos validator management on genesis node port

Initial setup:

Download scripts from the Github repository to your server using any convenient method.

git clone git@github.com:kima-finance/kima-external-validaåtor.git

Prepare the scripts:

Make the files executable with:

sudo chmod +x setup-validator.sh
sudo chmod +x update-config.sh
sudo chmod +x run-validator.sh

Prepare the environment:

Navigate to the validator directory:

	cd $HOME

Create an empty .env file:

touch .env

Copy the template file to .env:

⚠️ Note: This will overwrite any existing .env file. Ensure you want to proceed.

cp .env.template .env

Add the blockchain networks configuration

In the same .env file, add the RPC and WSS endpoints for the blockchain networks you will connect to:

ETH_RPC_HOST="https://mainnet.infura.io/v3/<YOUR_INFURA_API_KEY>"
ETH_WSS_HOST="wss://sepolia.infura.io/ws/v3/<YOUR_INFURA_API_KEY>"

⚠️ Important: Use a high-performance RPC endpoint. Free or basic paid plans may not suffice. Replace <YOUR_INFURA_API_KEY> with your actual API key. Update the URLs and details for other networks as needed.

Suggestions for Testnet API Keys: Services like Alchemy, QuickNode, or Ankr support various chains, including Ethereum, Polygon, AVAX, BSC, and more. Refer to their documentation for API key acquisition and configuration.

📝 Tip: Check each blockchain's official documentation for the latest public testnet endpoints or additional API services.

Execute the first script:

Execute the following script to install necessary components and start the installation:

	./1-setup-validator.sh <validator-node-name>

Upon successful installation, your node will begin synchronizing with the blockchain network. To monitor progress:

watch -n 1 'kimad status | jq .SyncInfo'

You will see synchronization details like this:

{  
  "latest_block_height": "12345",  
  "catching_up": true  
}

Wait for catching_up to turn false; indicating the sync is complete.

Execute the second script:

Complete the setup by executing the following:

./1-run-validator.sh

Once this script completes, your node will be fully operational, and you will become a validator on the Kima Network blockchain.

Last updated