Osmosis
Fecha de última actualización: 19 mayo 2025
1.- Introducción
En términos generales, el proceso es:
Preparar un servidor (local o en la nube) con los requisitos necesarios.
Instalar el binario osmosisd ―o usar Osmosis Installer para agilizar la puesta en marcha
Sincronizar la cadena (desde génesis o mediante snapshot/state-sync).
Configurar Cosmovisor o seguir la ruta manual para futuras actualizaciones.
Registrar una wallet y, con ella, convertir tu nodo en validador mediante una transacción on-chain.
Los apartados siguientes desarrollan cada paso al detalle.
Nota: esta guía se basa en mainnet (osmosis-1). Si prefieres practicar en testnet, clónala y sustituye la red allí donde corresponda.
2.- Requisitos previos
Requisito mínimo
Recomendación
Recurso
CPU quad‑core, 64 GB RAM, 2 TB SSD NVMe
64 GB de RAM y 4 TB NVMe para holgura
Hardware
Ubuntu 20.04 LTS/22.04 LTS o Debian 12
Cualquier distro estable funciona
Sistema operativo
500 Mb simétricos sin límite de datos
1 Gb simétrico si tu ISP lo permite
Conectividad
go1.22.11 obligatorio para v29
Usa la versión exacta para evitar errores
Go
Familiaridad básica con Linux y comandos CLI
No necesitas ser sysadmin veterano, pero sí moverte con la terminal
Conocimientos
3.- Preparar el servicio
Configura tu servidor (bare‑metal o cloud).
Crea un usuario sin privilegios de root y habilita ufw o tu firewall favorito.
Instala los paquetes básicos:
sudo apt update && sudo apt upgrade -y
sudo apt install build-essential curl git jq lz4 aria2 -y
Instala Go 1.22.11 (si no lo tienes):
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 # debería mostrar go1.22.11
4.- Instalar Osmosis
Opción A: Osmosis Installer (recomendada)
curl -sL https://get.osmosis.zone/install > i.py && python3 i.py
El script descarga y compila la última versión estable, crea los directorios y añade el binario a tu PATH.
Opción B: Instalación manual del binario
git clone https://github.com/osmosis-labs/osmosis
cd osmosis
git checkout v29.0.0
make build
cp build/osmosisd $HOME/go/bin/
Verifica la versión:
osmosisd version # 29.0.0
5.- Inicializar el nodo y descargar la génesis
osmosisd init NODE_NAME
wget -O ~/.osmosisd/config/genesis.json \
Asegúrate de que NODE_NAME sea único y descriptivo.
6 · Gestión de actualizaciones
Ruta manual (sin Cosmovisor)
Si prefieres un enfoque minimalista —o tu política de producción no permite usar Cosmovisor—, sigue estos pasos:
Omite la instalación de Cosmovisor y mantén el binario en $HOME/go/bin/osmosisd.
Crea un servicio systemd específico: "
sudo nano /etc/systemd/system/osmosisd.service
"
[Unit]
Description=Osmosis daemon (sin Cosmovisor)
After=network-online.target
[Service]
User=%u
ExecStart=$HOME/go/bin/osmosisd start --home $HOME/.osmosisd
Restart=always
RestartSec=3
LimitNOFILE=infinity
LimitNPROC=infinity
[Install]
WantedBy=multi-user.target
Cerrar documento guardando los cambios con "CTRL + X"
sudo systemctl daemon-reload
sudo systemctl enable osmosisd
sudo systemctl start osmosisd
Actualizaciones manuales (cuando la red anuncie un nuevo tag):
# Detén el servicio
a) sudo systemctl stop osmosisd
# Compila el nuevo binario (ejemplo v30.0.0)
b) cd $HOME/osmosis && git fetch && git checkout v30.0.0 && make build
c) cp build/osmosisd $HOME/go/bin/
# Verifica que la versión sea la nueva
d) osmosisd version
# Reinicia el servicio
e) sudo systemctl start osmosisd
Observa los logs para asegurarte de que tu nodo realice el upgrade correctamente:
journalctl -u osmosisd -f
7.- Sincronizar la cadena (snapshot Quicksync)
7.1 Snapshot (QuickSync)
Para evitar descargar desde génesis:
URL=$(curl -s https://quicksync.io/osmosis.json | \
jq -r '.[] |select(.file=="osmosis-1-default")|select(.mirror=="Netherlands")|.url')
cd $HOME/.osmosisd/
wget -O - "$URL" | lz4 -d | tar -xvf -
7.2 State Sync (opcional)
Edita ~/.osmosisd/config/config.toml: [state-sync]
enable = true
rpc_servers = "https://rpc-osmosis.blockpane.com:443,https://osmosis-rpc.stakecito.com:443"
trust_height = <ALTURA_CONFIANZA>
trust_hash = "<HASH_CONFIANZA>"
Obtén los valores:
LATEST_HEIGHT=$(curl -s https://rpc-osmosis.blockpane.com:443/block | jq -r .result.block.header.height)
TRUST_HEIGHT=$((LATEST_HEIGHT - 2000))
TRUST_HASH=$(curl -s "https://rpc-osmosis.blockpane.com:443/block?height=$TRUST_HEIGHT" | jq -r .result.block_id.hash)
Sustituye, guarda y reinicia tu servicio.
Con State Sync tu nodo estará listo en cuestión de minutos.
Tip: para máxima seguridad, sincroniza desde génesis y habilita state-sync; tardarás más, pero no dependes de terceros.
8 · Conexión inicial – Seeds y Peers
Añade al menos un seed y varios persistent peers en ~/.osmosisd/config/config.toml:
# Ejemplo (mainnet osmosis-1)
seeds = "ade4d8bc8cbe014af6ebdf3cb7b1e9ad36f412c0@seeds.polkachu.com:12556,f515a8599b40f0e84dfad935ba414674ab11a668@osmosis.blockpane.com:26656"
persistent_peers = "2308bed9e096a8b96d2aa343acc1147813c59ed2@3.225.38.25:26656,1b077d96ceeba7ef503fb048f343a538b2dcdf1b@136.243.218.244:26656"
9 · Monitoreo y buenas prácticas
Tarea
Comando rápido
Ver salud de firmas
osmosisd query slashing signing-info [validator-pubkey]
Logs
journalctl -u osmosisd -f
Actualizar a v29 (manual)
Compila, sustituye binario y reinicia el servicio
Copias de seguridad
Exporta ~/.osmosisd
y guarda mnemonics offline
Repaso de los principales componentes
● Wallet – almacena tus claves; protégela con osmo mínimo para comisiones.
● Snapshot / state-sync – acelera la sincronización inicial.
● Pubkey de validador – pieza clave para firmar bloques y rastrear tu signing-info.
Conexión inicial – Seeds y Peers de referencia
Para que tu nodo encuentre a la red más rápido, añade al menos un seed y algunos persistent peers en ~/.osmosisd/config/config.toml
.
# Ejemplo (mainnet osmosis‑1)
seeds = "ade4d8bc8cbe014af6ebdf3cb7b1e9ad36f412c0@seeds.polkachu.com:12556,f515a8599b40f0e84dfad935ba414674ab11a668@osmosis.blockpane.com:26656"
persistent_peers = "2308bed9e096a8b96d2aa343acc1147813c59ed2@3.225.38.25:26656,1b077d96ceeba7ef503fb048f343a538b2dcdf1b@136.243.218.244:26656"
Gas price recomendado
Para evitar spam y alinearte con las recomendaciones de la comunidad, abre ~/.osmosisd/config/app.toml
y ajusta:
minimum-gas-prices = "0.0025uosmo"
Buenas prácticas de red (hardening)
Expón solo el puerto P2P (26656) al exterior. Mantén 26657
(RPC), 9090
(gRPC) y 9091
(REST) escuchando en 127.0.0.1
.
Usa ufw
o iptables
para permitir únicamente el tráfico necesario:
sudo ufw allow 26656/tcp
sudo ufw deny 26657
sudo ufw deny 9090
sudo ufw deny 9091
Configura max_num_inbound_peers
y max_num_outbound_peers
en config.toml
para evitar DDoS (por defecto: 100/40; valores típicos: 50/20).
Revisa periódicamente tu addrbook.json
y peers
conectados:
osmosisd status | jq '.Result.PeerCount'
Last updated