Install golang
sudo apt install snapd build-essential
sudo snap install go --classic
setup a user to run under, and build daemons:
sudo addgroup --gid 26660 --system kava && sudo adduser -uid 26660 --ingroup kava --system --home /var/lib/kava kava
sudo -sHu kava
cd ~
git clone https://github.com/Kava-Labs/kava.git
cd kava/
git checkout v0.14.2
make install
cd ~
go get github.com/cosmos/cosmos-sdk/cosmovisor/cmd/cosmovisor
mkdir -p ~/.kvd/cosmovisor
mkdir -p ~/.kvd/cosmovisor/genesis
mkdir -p ~/.kvd/cosmovisor/genesis/bin
mkdir -p ~/.kvd/cosmovisor/upgrades
export PATH=$PATH:~/go/bin
kvd version # ensure correct version
kvd init --chain-id kava-7 <your-node-moniker>
mv ~/go/bin/kvd ~/.kvd/cosmovisor/genesis/bin
cat .kvd/config/priv_validator_key.json # save this info in a safe place --IF-- will be a validator node.
wget -O .kvd/config/genesis.json https://github.com/Kava-Labs/launch/raw/master/kava-7/genesis.json
edit .kvd/config/app.toml
minimum-gas-prices = "0.025ukava"
edit .kvd/config/config.toml
seeds = "[email protected]:26656"
optional ... in [instrumentation]
prometheus = true
namespace = "kava"
optional ... if a validator with sentries:
persistent_peers = "<insert peers here>"
pex = false
unconditional_peer_ids = "<insert peer ids here>"
OR if just a regular node:
persistent_peers = "[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:46656,[email protected]:26656,[email protected]:50056,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26666,[email protected]:26656"
exit # logout kava user, back to regular user ...
sudo -s # easier with just a root shell
cat > /etc/systemd/system/kvd.service << EOF
[Unit]
Description=Kava Daemon
After=network-online.target
[Service]
User=kava
ExecStart=/var/lib/kava/go/bin/cosmovisor start
Restart=always
RestartSec=3
LimitNOFILE=infinity
Environment="DAEMON_HOME=/var/lib/kava/.kvd"
Environment="DAEMON_NAME=kvd"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
[Install]
WantedBy=multi-user.target
EOF
# start the node ...
systemctl daemon-reload
systemctl enable kvd.service
systemctl start kvd.service
useful commands for getting sync status....
journalctl -fu kvd
watch -n 5 -- "curl -s 127.0.0.1:26657/status | jq .result.sync_info"
Ya, it's slow ... quicksync.io to the rescue (note, file names below will not work, visit: https://kava.quicksync.io/ to get correct file names)
sudo -s
apt install liblz4-tool aria2
cd /var/lib/kava/.kvd
aria2c -x10 https://get.quicksync.io/kava-7-default.20210808.0110.tar.lz4
rm -fr ./data/
lz4 -d kava-7-default.20210808.0110.tar.lz4 | tar xvf - && rm -f kava-7-default.20210808.0110.tar.lz4
chown -R kava:kava data/
systemctl start kvd