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:
Preparar un servidor con los recursos y el software base.
Compilar e instalar kava d —o delegar la gestión de upgrades a Cosmovisor—.
Inicializar la configuración y cargar el genesis.
Sincronizar la cadena (snapshot o state-sync) para ahorrar tiempo.
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
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
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