Skip to content

Instantly share code, notes, and snippets.

@blockpane
Last active August 17, 2021 07:41
Show Gist options
  • Save blockpane/3cda6f0dfd015d9f8a3ca79c87aa8d6a to your computer and use it in GitHub Desktop.
Save blockpane/3cda6f0dfd015d9f8a3ca79c87aa8d6a to your computer and use it in GitHub Desktop.
Kava install log

Kava install notes on Ubuntu:

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

Configuration

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"

slow syncing?

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment