Step-by-Step Guide
Onboarding for validators
It's always nice to see new users onboarding into the Testnet Oro.
This will guide you through the process of running your own node and becoming a validator.
Install
kiichaind
is the command-line interface (CLI) for interacting with the Kiichain blockchain. This section covers the installation of the necessary binaries to run a Kiichain node.
Requirements
Golang version:
v1.21.x
orv1.22.x
Build tools:
build-essential
package (Linux)
Using Golang v1.23.x
or higher will result in compilation errors. Please ensure you install an appropriate version.
Binary installation
To install Kiichain, download the pre-built binaries:
Verify the installation by checking the version of kiichaind:
Joining the Testnet
To join the Testnet Oro, you must have the daemon kiichaind
installed in your machine.
Recommended configuration
For optimal performance, we recommend:
16 vCPU x86_64
64 GB RAM
1 TB NVME SSD
Quick bootstrap
The easiest way to prepare a node is by using our provided scripts.
These scripts are designed for systems running Ubuntu 20.04 or Ubuntu 22.04. Ensure your operating system matches this requirement before proceeding.
Join Testnet Oro Script: Use this script to bootstrap a full node quickly.
Join Testnet with Cosmosvisor Script: Use this script to set up a full node with Cosmosvisor for automated upgrades
Running your node
Prepare your system by backing up and removing old configurations:
Connect to the testnet with the following commands:
(Optional but recommended): Before running the chain you can also check the SHA256:
The expected SHA256 checksum is: e22442f19149db7658bcf777d086b52b38d834ea17010c313cd8aece137b647a
This configuration runs a full node. For validators, update the configuration accordingly!
Full node vs validator node
The current configuration sets the node as a full node. If you need to run a validator the following flag must be set:
Configure state sync
State sync significantly reduces the time required to synchronize a node by downloading and verifying state data from trusted peers rather than replaying every historical block. This is particularly beneficial for nodes joining the network late or recovering from a significant downtime.
Follow these steps to configure state sync for your Kiichain node:
Set Trust Height Delta and Fetch Block Information
Define a height delta and retrieve the latest block height and block hash from the primary RPC endpoint.
Enable State Sync in Configuration
Modify the config.toml
file to enable state sync and set the required parameters.
Becoming a validator
Validators are the main responsible of validating and committing blocks. The main advantages of becoming a validator are:
Fees. Each transaction has fees, and validators are the main entry points of fee distribution. And due to his help on decentralization, part of the fee is exclusive for validators.
Creating a validator
Key creation
To create a validator, you first must have a key available for transactions. A new key can be created with:
You will get an output such as:
Transfer funds
Ensure your account has sufficient funds for fees and self-delegation.
Create the validator
A validator will be created based on your consensus public key. You can check your current public key using:
To create a validator you can use the following command:
The transaction must be done on the machine running the node
An additional flag
--node
can be passed to point to an available RPC node
Further instructions on how to run a validator can be found at Running a Validator.
Turning your node into an archival node
Newly created nodes have the pruning option configured as default. If you desire to turn your node into an archival node, the following flag must be changed:
Go to
$NODE_HOME/config/config.toml
and update the following flag:
Other options available as default for pruning are:
default
: Keep the recent 362880 blocks and prune is triggered every 10 blocksnothing
: all historic states will be saved, and nothing will be deleted (i.e. archiving node)everything
: all saved states will be deleted, storing only the recent 2 blocks; pruning at every blockcustom
: allow pruning options to be manually specified through 'pruning-keep-recent' and 'pruning-interval'
Cosmosvisor
Cosmosvisor is a process manager for handling chain upgrades. It enables low maintenance and automatic updates for nodes.
If an upgrade is scheduled, cosmosvisor has the capability of automatically downloading binaries and restarting any Kiichain processes
This gives the node low maintenance and auto updates capabilities
A version of our node bootstrapper can install cosmosvisor for you:
More information about cosmovision can be found at Cosmosvisor Quick Start.
Preparing cosmosvisor upgrade
First, you need to compile new binaries:
A new Kiichaind binary must be compiled with the target OS in mind
Ideally, you should compile all binaries on it’s own machines
The build must be done on top of the upgrade tag (E.g. v1.0.1, v2.0.0)
Check the section Binary Installation on how to do it
Make sure that the binary has the correct version with:
To add a new upgrade you must run the following command on Cosmovisor:
Where:
<upgrade-name>
is the on-chain upgrade name<path-to-binary>
is the full path for the binary
Example:
Node Architecture for validators
Further instruction on how to build a great node architecture can be found on:
References
Last updated