Kava

Fecha de última actualización: 18 junio 2025

1.Introducción

En esencia, poner en marcha un nodo de Kava (mainnet kava_2222-10) consiste en:

  1. Preparar un servidor con los recursos y el software base.

  2. Compilar e instalar kava d —o delegar la gestión de upgrades a Cosmovisor—.

  3. Inicializar la configuración y cargar el genesis.

  4. Sincronizar la cadena (snapshot o state-sync) para ahorrar tiempo.

  5. Registrar tu wallet y, opcionalmente, convertir el nodo en validador mediante una transacción on-chain.

En los apartados siguientes repasamos cada paso con todo detalle.

2.Requisitos previos

Recurso

Requisito mínimo

Recomendación

Hardware

CPU quad‑core, 64 GB RAM, 2 TB SSD NVMe

128 GB RAM para archival; 4 TB NVMe si planeas sin pruning (docs.kava.io)

Sistema operativo

Ubuntu 20.04 LTS/22.04 LTS o Debian 12

Distro estable con kernel 5.x

Conectividad

500 Mb simétricos sin límite de datos

1 Gb simétrico si tu ISP lo permite

Go

go1.22.11 obligatorio para v29

Versión oficial para v0.26.x

Conocimientos

Familiaridad básica con Linux y comandos CLI

No necesitas ser sysadmin veterano, pero sí moverte con la terminal

Nota: ejecutaremos todo en mainnet (kava-1). Si prefieres practicar, clona la guía y sustituye la red por la testnet correspondiente.

Dependencias base

sudo apt update && sudo apt upgrade -y
sudo apt install build-essential curl git jq lz4 aria2 zstd -y

Go 1.22.11 (recomendado):

sudo rm -rf /usr/local/go
wget https://golang.org/dl/go1.22.11.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.11.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> ~/.profile
source ~/.profile
go version # go1.22.11

3.Instalar Kava (compilación manual)

git clone https://github.com/kava-labs/kava
cd kava
git checkout v0.28.0
make install # instala kava en $HOME/go/bin
kava version --long # confirma 0.28.0

4. Inicializar el nodo y cargar el genesis

kava init NOMBRE_DEL_NODO --chain-id kava_2222-10
wget -O $HOME/.kava/config/genesis.json
https://kava-genesis-files.s3.us-east-1.amazonaws.com/kava_2222-10/genesis.json

5.Servicio systemd

Crea /etc/systemd/system/kava.service:

---

```ini
[Unit]
Description=Kava daemon (manual)
After=network-online.target

[Service]
User=%u
ExecStart=$HOME/go/bin/kava start --home $HOME/.kava
Restart=always
RestartSec=3
LimitNOFILE=infinity

[Install]
WantedBy=multi-user.target

6.Sincronizar la cadena

6.1 Snapshot (QuickSync)

URL=$(curl -s https://quicksync.io/kava |
grep -Eo 'https://[^"]+kava_2222-10[^"]+-minimal[^"]+.tar.lz4' | head -n1)
cd $HOME/.kava
wget -O- "$URL" | lz4 -dc | tar -xf -

El listado de snapshots muestra archivos actualizados cada pocas horas

6.2 State-sync (opcional, muy rápido)

cat > $HOME/state_sync_kava.sh <<'EOF'
SNAP_RPC="https://kava-rpc.polkachu.com:443"
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height)
BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000))
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)
CONFIG=$HOME/.kava/config/config.toml
sed -i.bak -E "s|^(enable[[:space:]]=).|\1 true|;
s|^(rpc_servers[[:space:]]=).|\1 "$SNAP_RPC,$SNAP_RPC"|;
s|^(trust_height[[:space:]]=).|\1 $BLOCK_HEIGHT|;
s|^(trust_hash[[:space:]]=).|\1 "$TRUST_HASH"|" $CONFIG
EOF
bash $HOME/state_sync_kava.sh
kava tendermint unsafe-reset-all --home $HOME/.kava --keep-addr-book
sudo systemctl restart kava

Endpoint público en Polkachu

7. Conexión inicial – Seeds y Peers

~/.kava/config/config.toml

seeds = "[email protected]:26656"

persistent_peers = "[email protected]:26656,[email protected]:11656,[email protected]:26656"

Tras editar, elimina addrbook.json y reinicia el servicio para poblar contactos frescos.

8. Gestión de actualizaciones (manual)

Cuando salga un nuevo tag, compílalo y sustituye el binario:

sudo systemctl stop kava
cd $HOME/kava && git fetch && git checkout v0.29.0 && make install
kava version
sudo systemctl start kava
journalctl -u kava -f   # verifica que arranque en el nuevo bloque de upgrade

9. Ajustes esenciales y buenas prácticas

Archivo
Clave
Valor recomendado

app.toml

minimum-gas-prices

0.025ukava;1000000000akava docs.kava.io

app.toml

pruning

"everything" (o "default" si prefieres histórico parcial)

Firewall

Abrir sólo 26656/tcp. Mantén 26657, 8545, 8546, 9090, 9091 en 127.0.0.1.

Monitoreo rápido

bashCopiarEditarkava status | jq .SyncInfo          # estado de sincronización
kava query slashing signing-info VALOPER_PUBKEY   # salud de firmas
journalctl -u kava -f               # logs en tiempo real

Copias de seguridad Haz un tar periódico de $HOME/.kava y guarda tu mnemonic offline.

Seguridad Para validadores, utiliza arquitectura sentry node + validator para aislar la clave de firma.

Last updated