Posted on :: Min Read ::

0. Preludio

Esta guía esta basada en la versión 15.0 de FreeBSD. Todos los comandos se ejecutarán como usuario root, ya sea con su, sudo, doas ó mdo.

1. Preparamos la jaula

Instalamos bastille, y con el comando bastille setup se autoconfigurará esta primera vez la red, firewall, almacenamiento, etc...

pkg install bastille
bastille setup

La autoconfiguración de bastille crea unas reglas básicas para PF en /etc/pf.conf Ahora procedemos a habilitar el firewall:

sysrc pf_enable="YES"
service pf start

Si estamos en una sesión de SSH, esta acción nos expulsará de la misma. Asegurate de tener acceso directo a la máquina, ya sea físico o mediante VNC, antes de continuar el proceso.

Para este ejemplo creamos la jaula para bitcoin asignándole una IP privada, en este caso 10.17.89.60

Puedes elegir cualquier rango de IP privada (rfc1918). Salvo que la IP de tu host sea 10.x.x.x, es seguro usar cualquier dirección de este rango. Los rangos posibles son: 10.0.0.0/8, 172.16.0.0/12 y 192.168.0.0/16.

bastille bootstrap -p 15.0-RELEASE
bastille create bitcoin 15.0-RELEASE 10.17.89.60

2. Preparamos la red

Con el comando rdr de bastille podremos redireccionar los puertos desde el host a la jaula. Este paso es opcional, habilita el puerto RPC (8332) si deseas acceder al nodo desde tu red local, por ejemplo, si deseas que Sparrow acceda a tu nodo desde otro equipo. En este caso es fundamental configurar una lista blanca de IPs y credenciales fuertes con las opciones rpcbind, rpcallowip, rpcpassword y rpcuser

Habilita el puerto P2P (8333) para permitir conexiones entrantes y ayudar a la red retransmitiendo bloques.

bastille rdr bitcoin tcp 8332 8332 # Puerto RPC
bastille rdr bitcoin tcp 8333 8333 # Tráfico P2P

3. Instalación de bitcoin

Dentro de la jaula, actualizamos los paquetes e instalamos bitcoin. Para ejecutar comandos dentro de la jaula los precedemos con bastille cmd bitcoin <*comando*> .

Antes de proseguir haremos un test de conectividad desde dentro de la jaula:

bastille cmd bitcoin nc -z freebsd.org 80 && echo "Conectividad OK"

Ahora podemos entrar en una consola interactiva para más comodidad:

bastille console bitcoin

Y dentro de la jaula:

pkg
pkg update && pkg upgrade
pkg install net-p2p/bitcoin-daemon net-p2p/bitcoin-utils

4. Configuración del nodo

Editamos el archivo de configuración /usr/local/etc/bitcoin.conf a nuestro gusto.

Una versión mínima puede ser:

server=1
rpcuser=admin
rpcpassword=CambiameAnda
rpcallowip=192.168.1.0/24
rpcbind=0.0.0.0

Configurar correctamente nuestro nodo según el uso al que le vamos a dar es un ejercicio importante, pero por el momento está fuera del alcance de esta guía. Puedes consultar todas las opciones posibles con:

bitcoind -help

También puedes usar esta herramienta para generar configuraciones comunes completas:

https://jlopp.github.io/bitcoin-core-config-generator/

5. Activación del nodo

Ya tenemos todo instalado y configurado, nos queda activar el servicio:

sysrc bitcoind_enable=YES
service bitcoind start

y comprobar que está correcto:

service bitcoind status

Por último, salimos de la consola:

exit

Conclusión

¡Y listo! ya tenemos en funcionamiento nuestro nodo de bitcoin en FreeBSD. Según la potencia de nuestro equipo, la sincronización inicial se tomará de algunas horas a varios días o semanas. Para monitorizar el log de bitcoin podemos ejecutar el comando:

bastille cmd bitcoin tail -f /var/db/bitcoin/debug.log

Esto nos mostrará el trabajo del nodo, los bloques conforme se vayan confirmando, etc.

hooded

¿no es fantástico?

satoshi

¡Sí!, y realmente es muy fácil.

Referencias

Table of Contents