Sonic
Requisitos de hardware y red
Recurso
Mínimo recomendado
CPU
4 vCPU
RAM
32 GB
Disco
1 TB NVMe/SSD local
Banda ancha
≥ 1 Gbps simétrico y redundante
Puertos
5050 TCP + UDP (o el que redefinas con --port)
Preparación básica del servidor
# Crear un usuario sin privilegios.
sudo adduser --disabled-password sonic
sudo usermod -aG sudo sonicActualiza sistema, fija zona horaria, habilita UFW y abre solo el puerto 5050.
Instalar herramientas de compilación y Go ≥ 1.22
Compilar el cliente sonicd
Cargar el genesis y preparar la base de datos
Esto deja tu base en el state root correcto y lista para sincronizar
Sincronizar hasta la “cabeza” de la cadena
Espera a que la diferencia de bloques (“age”) sea de solo unos segundos.
Crear la wallet del validador
Transfiere ≥ 500 000 S (self-stake mínimo) a la dirección generada.
Generar la clave de firma de consenso
Guarda la clave y su contraseña fuera del nodo (USB, HSM, etc.)
Registrar el validador on-chain
Abre SonicScan y el contrato SFC
(0xFC00FACE00000000000000000000000000000000).Ejecuta createValidator indicando:
public key*, validator name, y la cantidad a stakear (≥ 500 000 S).
Espera la confirmación y apunta tu validatorID.
Arrancar el nodo en modo validador
Desde este momento tu nodo participa en consenso y comienza a recibir recompensas (~6 % APR).
Hacerlo “a prueba de reinicios” con systemd
Crea /etc/systemd/system/sonicd.service:
La línea LimitNOFILE=4096 evita el típico error de “too many open files”.
Publicar tu identidad (nombre y logo)
Sube un JSON accesible por HTTPS con este formato:
Después, llama a updateInfo en el contrato STI para enlazarlo
Seguridad: arquitectura de sentry nodes
¿Por qué? Aislas tu validador de ataques DDoS.
Cómo: Despliega 2-3 nodos “sentry” en la nube, con IP pública.
En config.toml del validador pon pex=false y lista los persistent_peers con los nodeIDs de tus sentries.
En los sentry deja pex=true, añade el validador en persistent_peers y su nodeID en private_peer_ids para que no se filtre. (forum.cosmos.network)
Mantén las conexiones entre validador ↔ sentry en red privada/VPN.
Monitorización y alertas
Aunque sonicd aún no expone un endpoint Prometheus oficial, la práctica habitual es:
Node Exporter + Prometheus + Grafana para recursos del servidor.
Logs de journalctl -u sonicd con alertas de inactividad (> 5 min).
Verifica tu voting power y slashing en SonicScan o scripts RPC.
Actualizaciones y copias de seguridad
Backups: ~/.sonic/keystore/* y la carpeta validator (claves de firma).
Upgrade de versión: git pull && git fetch --tags && git checkout vX.Y.Z && make all
Para cambios de protocolo, sigue las notas de la release.
Snapshots: guarda una instantánea comprimida de la DB para restauraciones rápidas (útil al crear nuevos sentries).
Solución de problemas frecuentes
Síntoma
Causa típica
Solución
age de bloques no baja
Puertos/firewall
Revisa que 5050 TCP/UDP esté abierto y sin filtrado
Saliste del active set
Caída prolongada
Levanta el nodo, espera sync y verifica auto-unjail
Last updated