Skip to content

Instantly share code, notes, and snippets.

@blockpane
Last active August 17, 2021 07:41
Show Gist options
  • Select an option

  • Save blockpane/3cda6f0dfd015d9f8a3ca79c87aa8d6a to your computer and use it in GitHub Desktop.

Select an option

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 = "5c56fc779cd75c0c4d8225b8afe5259a076608dd@18.206.28.123: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 = "7827de7a17483f79a914f790cc8ca8431b2764d7@3.221.174.66:26656,1b5be4ece049083399e1d467c219c8978ed8d3ca@3.217.223.43:26656,e5d74b3f06226fb0798509e36021e81b7bce934d@3.209.43.104:26656,fb4a0dbe6947540bc94f4f2f11ce7c70b8fcffc9@54.92.246.92:26656,8b5c4a890c8ae7efbbe3360af71be1c3c3a9e12e@121.78.241.68:46656,1291ef230910953545fb3d83c4e989578da978a1@35.157.56.248:26656,06d11b66eac77ad7b149773cf974a595dd947398@35.247.175.128:50056,11f965df6fb3091e0fa3a1e4c129ff697939b827@52.26.236.235:26656,5a9de901ce9b6961f22cf829f4aefb66dff77d3a@54.177.121.234:26656,9084eab1fa9414abad5e41416482fe75f39b2071@54.215.73.103:26656,418cc8f69fa0212503dd5b2a9ac3ce0dd3b33e72@13.209.245.58:26656,f3a64f5d1a992d327a5d2b3282d7df294d787832@173.212.197.110:26666,1074a6f31d2c7df6e21ce0e574a5cb75f1763be1@13.56.31.21: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