How to run a protocol node with system file

Ivan Staker
2 min readMay 7, 2022

Rent a server on HETZNER

There are 6 pools currently in KYVE Dashboard. Best strategy is to find a pool with the least amount of tokens needed to start. Pay attention to “Minimum staking amount” of each pool. We will focus only on “new” pools since they don’t require a big amount of $KYVE to start.

Make sure you have arweave.json on your server with a funded arweve wallet. If not, please visit https://faucet.arweave.net/ , follow instructions and save the json file on your server.

So firstly, you need to download the appropriate binary with the latest tag:

Bitcoin — https://github.com/kyve-org/bitcoin/releases/tag/v0.0.0
Solana —https://github.com/kyve-org/solana/releases/tag/v0.0.1
Zilliqa — https://github.com/kyve-org/zilliqa/releases/tag/v0.0.0
NEAR — https://github.com/kyve-org/near/releases/tag/v0.0.0

Let’s take NEAR for example. If you want a different pool, just download another binary and change kyve-near to kyve-solana, for example!

wget https://github.com/kyve-org/near/releases/download/v0.0.0/kyve-near-linux.zip
unzip kyve-near-linux.zip
mv near-linux /usr/bin/kyve-near
sudo chmod +x /usr/bin/kyve-near

Set the variables. POOLID can be seen in the Dashboard.

POOLNAME=<name of the pool>
POOLID=<number of the pool>
MNEMONIC=<mnemonic of the validator walet>
STAKE=<your amount of stake>

Please note that stake has to be above the minimum.
Next, we will create a service file.

sudo tee <<EOF >/dev/null /etc/systemd/system/kyve-neard.service 
[Unit]
Description=Kyve Node
After=network.target
[Service]
Type=simple
User=$USER
ExecStart=/usr/bin/kyve-$POOLNAME \
--poolId $POOLID \
--mnemonic "$MNEMONIC" \
--initialStake $STAKE \
--keyfile /root/arweave.json \
--network korellia \
--verbose
Restart=on-failure
RestartSec=10
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF

Check that all the variables are set right

cat /etc/systemd/system/kyve-neard.service

Ok, now launch the node and see the logs.

sudo systemctl daemon-reload 
sudo systemctl enable kyve-neard
sudo systemctl restart kyve-neard
journalctl -u kyve-neard -f

--

--

Ivan Staker

Professional validator, taking part in major testnets and running mainnets.