Un nodo en la palma de la mano: BTC2 Core en Raspberry Pi
Como instalar BTC2 Core en una Raspberry Pi y dejar un nodo sincronizando con RPC seguro (solo localhost). Te muestro pasos, config básica y monitoreo en consola.

Lic. Carlos Enrique Loria Beeche.

En este post comparto cómo instalé BTC2 Core (Bitcoin 2 Core) en una Raspberry Pi para correr un nodo completo. La idea es que cualquier persona con una Pi, acceso por SSH y un poco de paciencia pueda replicarlo.

Mi enfoque fue: nodo funcional, RPC limitado a localhost (seguro), y comandos simples para monitorear la sincronización.

Nota importante: BTC2 es una red distinta a Bitcoin (BTC). Este nodo valida y se conecta a la red de Bitcoin 2 (BTC2), no a la red principal de Bitcoin.

Requisitos previos

  • Raspberry Pi (en mi caso fue una Pi 5, pero aplica a otras).
  • Linux (Debian / Raspberry Pi OS).
  • Espacio de disco suficiente (idealmente SSD para mayor estabilidad).
  • Acceso por consola local o SSH.

1) Preparar carpetas de trabajo

Organicé todo bajo una carpeta btc2 con dos subcarpetas: bin (binarios) y data (configuración y blockchain).

mkdir -p ~/btc2/{bin,data}

2) Descargar y extraer BTC2 Core para ARM

Descargué el paquete de BTC2 Core para Linux ARM (32-bit armhf) y lo extraje dentro de ~/btc2/bin. El archivo suele venir como .tgz.

cd ~/btc2/bin
# (descarga el tgz desde el sitio oficial de BTC2)
tar -xzf btc2-arm.tgz -C ~/btc2/bin

En mi caso, los binarios quedaron dentro de una subcarpeta (por ejemplo bitcoin2-bin/). Para simplificar rutas, copié los ejecutables al nivel principal:

cp -a ~/btc2/bin/bitcoin2-bin/bitcoin2d ~/btc2/bin/
cp -a ~/btc2/bin/bitcoin2-bin/bitcoin2-cli ~/btc2/bin/
chmod +x ~/btc2/bin/bitcoin2d ~/btc2/bin/bitcoin2-cli

Verificación rápida:

ls -la ~/btc2/bin/bitcoin2d ~/btc2/bin/bitcoin2-cli

3) Crear el archivo de configuración bitcoin2.conf

Creé ~/btc2/data/bitcoin2.conf con lo esencial: P2P habilitado en el puerto 8333, y RPC restringido a 127.0.0.1 (solo local).

cat > ~/btc2/data/bitcoin2.conf <<'EOF'
daemon=0
server=1

# P2P
listen=1
port=8333

# RPC (LOCAL ONLY)
rpcbind=127.0.0.1
rpcallowip=127.0.0.1
rpcuser=btc2rpc
rpcpassword=TU_PASSWORD_LARGO_Y_SEGURO
EOF

Cómo generé un rpcpassword fuerte

Para el rpcpassword, utilicé una frase larga y la convertí a una cadena extensa con Base64. Lo hice en el sitio: base64encode.org usando la opción Encode.

Así obtuve un string largo, fácil de pegar, y suficientemente robusto para un RPC local. Importante: no publiques tu rpcpassword y mantén RPC limitado a localhost (como arriba).

4) El detalle clave: por qué no usé Docker en este caso

Mi intención inicial era correr BTC2 Core dentro de Docker, pero en mi escenario los contenedores 32-bit (arm/v7) no funcionaron por un tema de compatibilidad de librerías (fallos relacionados con libc). Por eso tomé el camino más directo y estable: ejecutarlo nativo en el host.

Como el binario era armhf (32-bit), necesitaba soporte de librerías 32-bit en un sistema 64-bit. Si al ejecutar bitcoin2d te sale un error tipo “cannot execute: required file not found”, normalmente significa que falta el loader /lib/ld-linux-armhf.so.3 o librerías armhf.

5) Habilitar soporte armhf (si te aparece el error típico)

Esto fue lo que instalé para habilitar multi-arch armhf y sus librerías básicas:

sudo dpkg --add-architecture armhf
sudo apt-get update
sudo apt-get install -y libc6:armhf libstdc++6:armhf libgcc-s1:armhf zlib1g:armhf

Después pude verificar la ejecución:

cd ~/btc2/bin
./bitcoin2d --version

6) Arrancar el nodo y guardar log

Para arrancarlo sin complicarme, lo lancé en background y mandé salida a un log local:

nohup ~/btc2/bin/bitcoin2d \
  -datadir=/home/$USER/btc2/data \
  -conf=/home/$USER/btc2/data/bitcoin2.conf \
  -printtoconsole \
  > /home/$USER/btc2/data/bitcoin2.log 2>&1 &

Para ver el avance:

tail -n 80 ~/btc2/data/bitcoin2.log

7) Comandos útiles de monitoreo

Estado de sincronización

~/btc2/bin/bitcoin2-cli \
  -conf=/home/$USER/btc2/data/bitcoin2.conf \
  -datadir=/home/$USER/btc2/data \
  getblockchaininfo

Información de red

~/btc2/bin/bitcoin2-cli \
  -conf=/home/$USER/btc2/data/bitcoin2.conf \
  -datadir=/home/$USER/btc2/data \
  getnetworkinfo

Peers conectados

~/btc2/bin/bitcoin2-cli \
  -conf=/home/$USER/btc2/data/bitcoin2.conf \
  -datadir=/home/$USER/btc2/data \
  getpeerinfo | head

“Dashboard” simple en consola

watch -n 5 '~/btc2/bin/bitcoin2-cli -conf=/home/'"$USER"'/btc2/data/bitcoin2.conf -datadir=/home/'"$USER"'/btc2/data getblockchaininfo | egrep "blocks|headers|verificationprogress"'

8) Abrir el puerto P2P 8333 (opcional pero recomendado)

El puerto P2P por defecto es 8333. Si quieres que tu nodo acepte conexiones entrantes, abre ese puerto en tu firewall. (Si tienes otros servicios, primero verifica que 8333 esté libre.)

Ejemplo con UFW:

sudo ufw allow 8333/tcp
sudo ufw allow 8333/udp
sudo ufw status | grep 8333

Notas de operación (lo que he visto en la práctica)

  • Verás mensajes de “connection refused” o “network unreachable” al intentar conectar a algunos peers: es normal.
  • Al inicio, verificationprogress puede verse muy bajo aunque el nodo esté avanzando: lo importante es que suba blocks.
  • Si tu red no tiene IPv6, es normal ver fallos de conexión a direcciones IPv6.
  • Mientras RPC esté en 127.0.0.1, no estás exponiendo control remoto del nodo (buena práctica).

Siguientes pasos (ideas para mejorar el proyecto)

Aquí van mejoras que pienso documentar después (y que te recomiendo si quieres una instalación más “servidor”):

  1. Systemd: crear un servicio para que el nodo arranque solo después de reinicios.
  2. SSD: mover ~/btc2/data a un SSD para más estabilidad y vida útil.
  3. Monitoreo: métricas y alertas simples (por ejemplo, conexión mínima de peers, crecimiento de bloques, etc.).
  4. Uso avanzado: staking/masternode (si aplica en tu caso) y consideraciones de wallet.

Cierre

Me gusta este proyecto por su practicidad: con una Raspberry Pi y unos cuantos comandos puedes tener un nodo BTC2 Core funcionando en casa, monitoreable y con RPC seguro. Si estás probando infraestructura ligera, es un experimento excelente para aprender sobre redes P2P, sincronización y operación de nodos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *