This guide for running Kyve node in the Kaon-1 network

Guide was successfully tested on Hetzner cloud servers CX41, CPX31, CPX51 and dedicated servers AX41-NVMe, AX51-NVMe, AX101.


This is official minimal requirement for node:

  • CPU: 4 cores
  • RAM: 32GB
  • SSD: 200GB


Step 1. Install packages and updates.

sudo apt update && sudo apt upgrade -y

sudo apt install make clang pkg-config libssl-dev libclang-dev build-essential git curl ntp jq llvm tmux htop screen unzip cargo cmake -y

Step 2. Install GO

ver="1.19.4" && \
wget "$ver.linux-amd64.tar.gz" && \
sudo rm -rf /usr/local/go && \
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" && \
rm "go$ver.linux-amd64.tar.gz" && \
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
go version

Step 3. Download and replace binary

wget && \
tar -xvzf kyved_linux_amd64.tar.gz && \
mv kyved /usr/local/bin/ && \
rm kyved_linux_amd64.tar.gzgit checkout --track origin/mainnet

Step 4. Set the variables

Replace «your_name» with your data


Step 5. Bash profile

echo 'export KYVE_CHAIN='${KYVE_CHAIN} >> $HOME/.bash_profile
echo 'export KYVE_MONIKER='${KYVE_MONIKER} >> $HOME/.bash_profile
echo 'export KYVE_WALLET='${KYVE_WALLET} >> $HOME/.bash_profile
source $HOME/.bash_profile

Step 6. Initialize the node

kyved init $KYVE_MONIKER --chain-id $KYVE_CHAIN

Step 7. Configure name of the network

kyved config chain-id $KYVE_CHAIN

Step 8. Download genesis file

curl > ~/.kyve/config/genesis.json

Step 9. Configure pruning

sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.kyve/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.kyve/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.kyve/config/app.toml

Step 10. Setup minimal gas price

sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.001tkyve\"/;" ~/.kyve/config/app.toml

Step 11. Add peers

sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.kyve/config/config.toml

Step 12. Create service file

sudo tee /etc/systemd/system/kyved.service > /dev/null <<EOF [Unit] Description=kyve

[Service] User=$USER ExecStart=$(which kyved) start --home $HOME/.kyve Restart=on-failure RestartSec=10 LimitNOFILE=65535

[Install] EOF

Step 13. Run service

sudo systemctl daemon-reload
sudo systemctl enable kyved
sudo systemctl restart kyved

After synchronization

Step 1. Check synchronization

If catching_up»: false, then node has synched

curl localhost:26657/status

Step 2. Make the update on block 443300

cd $HOME
git clone
cd chain
git checkout v1.0.0-rc1
make install
chmod +x /root/go/bin/kyved && sudo mv /root/go/bin/kyved /usr/local/bin/kyved
cd $HOME
kyved version --long


Step 3. Create a wallet

kyved keys add $KYVE_WALLET

or recover it with command:

kyved keys add $KYVE_WALLET --recover

Step 4. Set and bach wallet variable

KYVE_ADDR=$(kyved keys show $KYVE_WALLET -a)
echo 'export KYVE_ADDR='${KYVE_ADDR} >> $HOME/.bash_profile
source $HOME/.bash_profile

Step 5. Create a validator

First, you need to check your balance:

kyved query bank balances $KYVE_ADDR

If you have tokens, then you can create validator with command:

kyved tx staking create-validator \
--amount 1000000tkyve \
--from $KYVE_WALLET \
--commission-max-change-rate "0.05" \
--commission-max-rate "0.2" \
--commission-rate "0.1" \
--min-self-delegation "1" \
--pubkey $(kyved tendermint show-validator) \
--moniker $KYVE_MONIKER \
--chain-id $KYVE_CHAIN

Then create and bash the variable with validator’s address:

KYVE_VALOPER=$(kyved keys show $KYVE_WALLET --bech val -a)
echo 'export KYVE_VALOPER='${KYVE_VALOPER} >> $HOME/.bash_profile
source $HOME/.bash_profile

Usefull commands

Check the validator’s status

kyved query staking validator $KYVE_VALOPER

Delegate tokens from wallet to validator

kyved tx staking delegate $KYVE_VALOPER 1000000tkyve --from $KYVE_WALLET --fees 5000tkyve

Escape from prison

kyved tx slashing unjail --from $KYVE_WALLET --fees 5000tkyve

Delete the node

sudo systemctl stop kyved
sudo systemctl disable kyved
cd $HOME
rm /etc/systemd/system/kyved.service
rm /usr/local/bin/kyved
rm -r kyve/
rm -r .kyve/