Cómo ejecutar un nodo Lightning Autoswarm:


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.

Recursos adicionales

Repositorio oficial de Autoswarm

Documentación de Bitcoin Core

Especificaciones Lightning

Leave a Reply

Your email address will not be published. Required fields are marked *