Installation
Prerequisites
Programs and applications
curl: You will need curl for fetching the external IP and interacting with various web services. Ensure every team member has it installed and configured properly on their local systems.
git: Essential for version control and collaboration, git allows the team to clone necessary repositories and manage code changes effectively. Make sure all team members have git installed and are familiar with its basic commands.
text editor: Your choice of Vim, Nano, or whatever you are used to using as you will need to make updates to file.
Permissions
Each team member will need sudo privileges to install system packages and perform various secure operations on their machines. This is crucial for maintaining the security and integrity of your development environment.
Each member must have an SSH key set up and linked to their GitHub account for secure repository access. This is essential for cloning private repositories and contributing to your projects securely.
If the team needs to access our private Git repository, please ensure each member has their SSH private key configured correctly. This involves generating an SSH key if they haven't already, adding it to their GitHub account, and ensuring it's accessible to their SSH agent.
If necessary, we can organize a session to assist anyone who hasn't set up their SSH keys or is unfamiliar with the process. It's crucial that everyone can access our repositories without any issues.
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-validator.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:
cd
into the validator directory.
Create a new empty .env
file: Use the touch
command to create a new empty file named .env
.
Copy
Copy the contents of .env.template
to .env
:
If .env
already exists, this will overwrite it, so be sure you want to do this.
Copy
Edit the .env
file with your preferred text editor to add the path to your SSH key:
Copy
Replace /home/yourusername/.ssh/id_rsa
with the actual path to your SSH key. Save and exit
Add the blockchain networks configuration
Also in the .env
file, you will need to add configuration details for each blockchain network you intend to connect with. This includes RPC and WSS endpoints, for example:
Copy
Replace "https://mainnet.infura.io/v3/YOUR_INFURA_API_KEY"
and "https://bsc-dataseed1.binance.org"
with the actual network URLs and your API keys or relevant connection details. Again, save your changes and exit your text editor.
For Testnet API keys, you can consider services like Alchemy, QuickNode, and Ankr as alternatives to Infura, providing support for various chains including Ethereum, Polygon, AVAX, BSC, Arbitrum, Optimism, Solana, and Tron.
See the for details of how to acquire testnet API keys and network urls from these services.
Additionally, each blockchain's official documentation may offer public testnet endpoints or other API services suitable for development and testing purposes. Note that these may change, so always make sure you are consulting the latest version of the documentation
Remember, these are templates, and you might need to adjust paths, keys, and configuration details based on your specific environment and requirements.
Execute the first script:
Run: ./setup-validator.sh <validator-node-name>
This script installs all necessary components and starts the software installation process.
After successful installation, the status will look like this:
Your node will now synchronise with the blockchain network. This might take some time. Monitor the progress:
Copy
You should see something like this:
Once synchronization is complete, your screen should look like this:
Execute the second script:
This is the final step. Run: ./run-validator.sh
This will complete the validation node setup. Upon successful completion, you will become a validator for the Kima Network blockchain.
Last updated