Mainnet Userguide for Validator Node
KardiaChain Official User Guide for Setting Up Mainnet Validator Node

System requirement:

Recommending using Cloud compute service with the following requirements.

Hardware requirement:

CPU: Intel or AMD with 4+ Cores, Recommended 8+ Cores
RAM: 8GB, Recommended 16GB
Hard Drive: require 768 GB of SSD, Recommended 1TB of SSD
Notes: For the first year, the Validator node will run as a full node (written full data to blockchain) and take up to 320GB of storage. It will ensure maintaining all the data between all validators. Starting from year two and forward, it will run as a light node which removes all the stealth data/blocks and maintains recent 100 blocks. The estimated storage will be 36GB.

OS Requirements:

Operating system: CentOS or Ubuntu (manual compiling and build) or with Docker Compose installed.

Internet Requirement:

Bandwidth: 1GBps

Firewall:

Port open: TCP/UDP 3000 (internet exposure), TCP 8545 (for JSON RPC).

Preparing Environment:

When the system or cloud instance is ready, proceeding with the following steps for preparing the environment.

Installing go-kardia

From Source

You'll need go installed and the required environment variables set, which can be done with the following commands:
1
export GOPATH=$HOME/go
2
export PATH=$PATH:$GOPATH/bin
3
Copied!

Get Source Code

1
git clone https://github.com/kardiachain/go-kardia.git $GOPATH
Copied!

Direct Installation

Prerequisites

Install libzmq

Compiling and Installing

1
cd $GOPATH/src/github.com/kardiachain/go-kardia/cmd
2
go install
3
Copied!
Notes: the latest cmd command is now installed.

Docker Installation

Prerequisites

Installing Docker from the following Linux OS installation guide: CentOS, Ubuntu
Installing Docker compose

Validator Registration:

Creating Wallet:

Go to https://explorer.kardiachain.io/access-wallet and create a new Wallet with Private Key (carefully backup or store it to somewhere safe)

Requirement:

For Registration: 25,000 KAI
For becoming Validator: node with at least 12.5M KAI
Notes: the top most 20 Validators voting power will get each block rewards for securing the network.

Registration:

Go to https://explorer.kardiachain.io/staking and click Register to become Validator
Fill out validator information, eg Name, commission..then click Register.
Type
Description
Commission Rate
initial commission
Max Rate
max commission that Validator set
Max Change Rate
% commission that can be changed
Notes: Commission changes every three months, and Max Change Rate does not exceed current + next change. For example: Current Commission is 2%, Max Change Rate is 3%; for the next change cycle (3months) will be between 1% -5%.

Join Mainnet:

Installation Files:

Download these files from the following link to your system: docker-compose.yaml, kai-mainnet.zip, kai_config.yaml

Config File:

Use a text-editor application to edit kai_config.yaml (vim or nano…)
Name: Node Name will display on KardiaChain network. This will be different from Validator Name
PrivateKey: Your validator private key (ignore this field if not a Validator)

Compose File to Join Mainnet:

1
docker-compose up -d
Copied!

Check Container for Running:

1
docker-compose ps
Copied!

Logging:

1
docker logs -f --tail 10 kai-mainnet-node
Copied!
Notes: for the first time when joining KardiChain network, Node will be anonymous and can NOT be trusted by peer. It can ONLY syn up the database from peers until manually added into trust-list by peers. When that happens, the database can sync both ways.

Verification:

Wait for the node to sync-up with the highest block and check the status at:
Go to explorer and login to your Validator Wallet: https://explorer.kardiachain.io/
Click “Start to become Validator” under Wallet Tab > Your Delegator
Notes: Sync up time will depend on the network bandwidth and the blocks height. It usually takes half day or more
Tips: To speed up to syncing data from blockchain. You can download blockchain splited files from:
1
https://dl.kardiachain.io/chaindata/chaindata.taraa
2
https://dl.kardiachain.io/chaindata/chaindata.tarab
3
https://dl.kardiachain.io/chaindata/chaindata.tarac
4
https://dl.kardiachain.io/chaindata/chaindata.tarad
5
https://dl.kardiachain.io/chaindata/chaindata.tarae
6
https://dl.kardiachain.io/chaindata/chaindata.taraf
7
https://dl.kardiachain.io/chaindata/chaindata.tarag
8
https://dl.kardiachain.io/chaindata/chaindata.tarah
9
https://dl.kardiachain.io/chaindata/chaindata.tarai
10
https://dl.kardiachain.io/chaindata/chaindata.taraj
11
https://dl.kardiachain.io/chaindata/chaindata.tarak
12
https://dl.kardiachain.io/chaindata/chaindata.taral
13
https://dl.kardiachain.io/chaindata/chaindata.taram
14
https://dl.kardiachain.io/chaindata/chaindata.taran
15
https://dl.kardiachain.io/chaindata/chaindata.tarao
16
https://dl.kardiachain.io/chaindata/chaindata.tarap
17
https://dl.kardiachain.io/chaindata/chaindata.taraq
18
https://dl.kardiachain.io/chaindata/chaindata.tarar
19
https://dl.kardiachain.io/chaindata/chaindata.taras
20
https://dl.kardiachain.io/chaindata/chaindata.tarat
21
https://dl.kardiachain.io/chaindata/chaindata.tarau
22
https://dl.kardiachain.io/chaindata/chaindata.tarav
23
https://dl.kardiachain.io/chaindata/chaindata.taraw
24
https://dl.kardiachain.io/chaindata/chaindata.tarax
25
Copied!
And then combine all files
1
cat chaindata.tar* | tar xvf -
Copied!
Notes: Validator Node is always on-line, and if it missed validating the last half of 10000 blocks, the Validator will be slashed 0.1% of the total stake amount and jailed (suspended) for 1 hour. The Validator has to manually un-jail after time expires.
DO NOT attempt to modify the source code or run more than one Validator node with the same private key. Any malicious activities will result in slashing 25% of the total staked amount.
Last modified 21d ago