Setting up your validator node has never been so easy. Get your validator running in minutes by following step by step instructions.

Chain ID: darchub | Latest Version Tag: v0.6.2 | Custom Port: 13

Setup validator name

Replace YOUR_MONIKER with your validator name


Install dependencies

Update system and install build tools

sudo apt -q update
sudo apt -qy install curl git jq lz4 build-essential
sudo apt -qy upgrade

Install Go

sudo rm -rf /usr/local/go
curl -Ls | sudo tar -xzf - -C /usr/local
eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/
eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)

Download and build binaries

# Clone project repository
cd $HOME
rm -rf konstellation
git clone
cd konstellation
git checkout v0.6.2

# Build binaries
make build

# Prepare binaries for Cosmovisor
mkdir -p $HOME/.knstld/cosmovisor/genesis/bin
mv build/knstld $HOME/.knstld/cosmovisor/genesis/bin/
rm -rf build

# Create application symlinks
ln -s $HOME/.knstld/cosmovisor/genesis $HOME/.knstld/cosmovisor/current
sudo ln -s $HOME/.knstld/cosmovisor/current/bin/knstld /usr/local/bin/knstld

Install Cosmovisor and create a service

# Download and install Cosmovisor
go install

# Create service
sudo tee /etc/systemd/system/knstld.service > /dev/null << EOF
Description=konstellation node service

ExecStart=$(which cosmovisor) run start

sudo systemctl daemon-reload
sudo systemctl enable knstld

Initialize the node

# Set node configuration
knstld config chain-id darchub
knstld config keyring-backend file
knstld config node tcp://localhost:13657

# Initialize the node
knstld init $MONIKER --chain-id darchub

# Download genesis and addrbook
curl -Ls > $HOME/.knstld/config/genesis.json
curl -Ls > $HOME/.knstld/config/addrbook.json

# Add seeds
sed -i -e "s|^seeds *=.*|seeds = \"\"|" $HOME/.knstld/config/config.toml

# Set minimum gas price
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.00119ukuji,0.00150factory/konstellation1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk,0.00150ibc/295548A78785A1007F232DE286149A6FF512F180AF5657780FC89C009E2C348F,0.000125ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2,0.00126ibc/47BD209179859CDE4A2806763D7189B6E6FE13A17880FE2B42DE1E6C1E329E23,0.00652ibc/3607EB5B5E64DD1C0E12E07F077FF470D5BC4706AFCBC98FE1BA960E5AE4CE07,617283951ibc/F3AA7EF362EC5E791FE78A0F4CCC69FEE1F9A7485EB1A8CAB3F6601C00522F10,0.000288ibc/EFF323CC632EC4F747C61BCE238A758EFDB7699C3226565F7C20DA06509D59A5,0.000125ibc/DA59C009A0B3B95E0549E6BF7B075C8239285989FF457A8EDDBB56F10B2A6986,0.00137ibc/A358D7F19237777AF6D8AD0E0F53268F8B18AE8A53ED318095C14D6D7F3B2DB5,0.0488ibc/4F393C3FCA4190C0A6756CE7F6D897D5D1BE57D6CCB80D0BC87393566A7B6602,78492936ibc/004EBF085BBED1029326D56BE8A2E67C08CECE670A94AC1947DF413EF5130EB2,964351ibc/1B38805B1C75352B28169284F96DF56BDEBD9E8FAC005BDCC8CF0378C82AA8E7\"|" $HOME/.knstld/config/app.toml

# Set pruning
sed -i \
  -e 's|^pruning *=.*|pruning = "custom"|' \
  -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
  -e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
  -e 's|^pruning-interval *=.*|pruning-interval = "19"|' \

# Set custom ports
sed -i -e "s%^proxy_app = \"tcp://\"%proxy_app = \"tcp://\"%; s%^laddr = \"tcp://\"%laddr = \"tcp://\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:13060\"%; s%^laddr = \"tcp://\"%laddr = \"tcp://\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":13660\"%" $HOME/.knstld/config/config.toml
sed -i -e "s%^address = \"tcp://\"%address = \"tcp://\"%; s%^address = \":8080\"%address = \":13080\"%; s%^address = \"\"%address = \"\"%; s%^address = \"\"%address = \"\"%; s%^address = \"\"%address = \"\"%; s%^ws-address = \"\"%ws-address = \"\"%" $HOME/.knstld/config/app.toml

Download latest chain snapshot

curl -L | tar -Ilz4 -xf - -C $HOME/.knstld
[[ -f $HOME/.knstld/data/upgrade-info.json ]] && cp $HOME/.knstld/data/upgrade-info.json $HOME/.knstld/cosmovisor/genesis/upgrade-info.json

Start service and check the logs

sudo systemctl start knstld && sudo journalctl -u knstld -f --no-hostname -o cat

Last updated