Introducción
Ejecutar un nodo Lightning Autoswarm permite participar de la red Lightning de forma automatizada, abriendo, equilibrando y cerrando canales de manera inteligente. En este artículo se detallan todos los pasos necesarios, desde los requisitos hasta la puesta en producción y el mantenimiento continuo.
Requisitos previos
Sistema operativo: Debian 12 (o derivado) con kernel 5.10 .
Bitcoin Core: versión 24.0 o superior, compilado con soporte zmq y tor opcional.
Rust y Cargo: instalados vía rustup (canal estable).
Hardware mínimo: CPU de 4 núcleos, 8 GB RAM, SSD NVMe de 256 GB, conexión de 20 Mbps.
Puerto estático: abrir TCP/9735 en el firewall y, si se usa Tor, habilitar 9735 en el servicio oculto.
Instalación de dependencias
1. Instalar Bitcoin Core
Descarga binaries oficiales desde https://bitcoincore.org/bin/, verifica firmas e instala en /usr/local/bin.
Configura bitcoin.conf con:
bitcoin.conf:
rpcuser=tu_usuario_rpc
rpcpassword=una_contraseña_segura
zmqpubrawblock=tcp://127.0.0.1:28332
zmqpubrawtx=tcp://127.0.0.1:28333
2. Instalar Rust y Cargo
Ejecuta:
curl –proto =https –tlsv1.2 -sSf https://sh.rustup.rs sh
source ~/.cargo/env
Verifica con rustc –version y cargo –version.
Descarga y compilación de Autoswarm
1. Clonar el repositorio
git clone https://github.com/Autoswarm/Autoswarm-node.git ~/autoswarm
cd ~/autoswarm
2. Compilar en modo release
cargo build –release
El binario resultante estará en ~/autoswarm/target/release/autoswarm.
Configuración básica
Archivo de configuración (config.toml)
Crea ~/.config/autoswarm/config.toml con los parámetros mínimos:
network = mainnet
data_dir = /home/usuario/.autoswarm
[bitcoin]
rpc_host = 127.0.0.1
rpc_port = 8332
zmq_block = tcp://127.0.0.1:28332
zmq_tx = tcp://127.0.0.1:28333
[autoswarm]
listen_port = 9735
max_channels = 10
min_channel_value_sats = 20000
max_channel_value_sats = 500000
Ejecución inicial
Verifica sincronización de Bitcoin Core: bitcoin-cli getblockchaininfo.
Inicia Autoswarm en modo prueba: autoswarm –config ~/.config/autoswarm/config.toml –dry-run.
Corrige errores de permisos o rutas antes de la puesta en producción.
Implementación como servicio
1. Crear unidad systemd
Archivo /etc/systemd/system/autoswarm.service:
[Unit]
Description=Nodo Lightning Autoswarm
After=bitcoind.service
[Service]
User=usuario
ExecStart=/home/usuario/autoswarm/target/release/autoswarm –config /home/usuario/.config/autoswarm/config.toml
Restart=on-failure
[Install]
WantedBy=multi-user.target
2. Habilitar y arrancar
systemctl daemon-reload
systemctl enable autoswarm
systemctl start autoswarm
systemctl status autoswarm
Configuración avanzada
Balanceo automático de canales
En config.toml activa:
rebalance_interval_minutes = 60
rebalance_target = 0.6 (proporción interna/external)
use_mpp = true
Integración con Tor
Instala tor y habilita HiddenService:
HiddenServiceDir /var/lib/tor/autoswarm_hidden_service/
HiddenServicePort 9735 127.0.0.1:9735
En config.toml agrega tor_proxy = 127.0.0.1:9050 y announced_listener = autoswarmaddress.onion:9735.
Monitoreo y mantenimiento
Revisa logs: journalctl -u autoswarm -f.
Usa lncli listchannels y lncli channelbalance para métricas Lightning.
Actualiza periódicamente el binario con git pull y cargo build –release.
Solución de problemas comunes
Error RPC timeout: aumenta rpc_timeout en config.toml o ajusta prioridades de I/O.
Canales atascados: usa lncli closechannel –force tras 48 h de inactividad.
Desincronización ZMQ: revisa que los puertos 28332/28333 coincidan entre Bitcoin Core y Autoswarm.
