Taller - Montar un nodo Bitcoin y LND (Actualizado a Marzo 2019)

  • Autor del tema Autor del tema bmbnct
  • Fecha de inicio Fecha de inicio
¿Pero nos vas a enseñar a hacerlo o no? 😀

Si me dices que sí, pues me pillo el pack completo de las rasp + el display + la caja con ventiladores

Por supuesto!!
Ademas ahora que las comisiones on-chain estan baratas y por lo tanto el abrir canales también, es buen momento para cacharrear con LN.
Cuando lo tengamos todo montado podemos hacer unas pruebas básicas de enviar pagos, ver su enrutamiento...

Pero, unos puntos sobre el material que comentas:

- Solo es necesaria una raspberry.
- La caja con ventilador y el display no son compatibles por espacio (a no ser que se quiera ubicar en otro sitio); porque donde está el ventilador, se ubica el display

- La fuente de alimentación que incluye la caja con ventilador es de 2.5A, si además se va a usar un disco duro donde la alimentación la reciba por el puerto USB, como el del material que recomiendo, quizás el consumo sea demasiado (no lo he probado) y la rasp no se muestre estable. En mi opinión si elegimos la caja con ventiladores, el disco usb tendría que ser uno con alimentación propia, o sino escoger una fuente de alimentación de 3A.

.

---------- Post added 13-jun-2018 at 11:20 ----------

Esto no es una vulnerabilidad grave? Habría que comprobar antes las fuentes, imagino.


Taptap
Creo que no viene preinstalado nada (que DEREC me corrija si no es asi); lo que viene es con un asistente que cuando arrancas la raspberry con la microSD, te da la opción de elegir lo que quieres que se descargue e instale. Entre las opciones están KODI, Raspbian y otros. Pero la descarga es desde las fuentes originales.
 
Última edición:
La RP3 va a poder con todo? Si es asi, me compro otra para btc
 
La RP3 va a poder con todo? Si es asi, me compro otra para btc
Esa es la gracia, montar todo en una RPi3.

Por aquí, somos varios foreros (que yo sepa 4) los que ya disponemos de una raspberry con bitcoin + LN. Así que si te animas, adelante.
 
¿Pero nos vas a enseñar a hacerlo o no? 😀

Si me dices que sí, pues me pillo el pack completo de las rasp + el display + la caja con ventiladores


Jorobar Mojon no me digas que no tienes ya montado un nodo bitcoin. Si no es asi no se a que esperas.

Y para montar un nodo LN con lnd sigues el tutorial de referencia e ya:

Luego ya cualquier duda pues pregunta por aqui pero con la guia deberias tener suficiente.
 
---------- Post added 13-jun-2018 at 11:20 ----------

[/TONALIDAD]Creo que no viene preinstalado nada (que DEREC me corrija si no es asi); lo que viene es con un asistente que cuando arrancas la raspberry con la microSD, te da la opción de elegir lo que quieres que se descargue e instale. Entre las opciones están KODI, Raspbian y otros. Pero la descarga es desde las fuentes originales.

Esto es lo que ponia en Amazon, ya os digo que lo primero que hice fue formatearla

" Tarjeta MicroSD de 16 GB precargada con la última versión (V2) de NOOBS, incluido Raspbian, el sistema operativo oficial de la Fundación Raspberry Pi."

Me pongo ahora mismo con el paso 3. 8:
 
Pero no habia un script por ahi que lo hacia solo?

Me quede encallado en el script,todo iba bien,pero queria traspasar la blockchain.que ya tenia descargada y ahi si que ya no lo consegui.

PD:me parece bastante raro y grave que la comunidad no tenga hecha ya una imagen SD preinstalada para Raspberry con todo ya preparado,tipo kodi,recalbox,etc etc

Grabar y listo.Tipo Kodi.
Saldrian nodos como setas.

Hacerlo a mano es nivel advanced por.mucho tuto y paciencia y tiempo que le.metas.
 
Última edición:
Pero no habia un script por ahi que lo hacia solo?

Me quede encallado en el script,todo iba bien,pero queria traspasar la blockchain.que ya tenia descargada y ahi si que ya no lo consegui.

PD:me parece bastante raro y grave que la comunidad no tenga hecha ya una imagen SD preinstalada para Raspberry con todo ya preparado,tipo kodi,recalbox,etc etc

Grabar y listo.Tipo Kodi.
Saldrian nodos como setas.

Hacerlo a mano es nivel advanced por.mucho tuto y paciencia y tiempo que le.metas.
Cada cual es libre de escoger el formato que más le guste para instalar su nodo dependiendo de su nivel; si sabes inglés, eres capaz de instalar el sistema operativo solo, conectarte a la red, actualizarlo, te manejas con debian... puedes escoger la guía que ha indicado el forero ninfireblade.
Si no quieres seguir una guía y no te interesa aprender, puedes seguir el script; pero si hay una actualización de cliente Bitcoin o LND, no sabrás cómo proceder para implementarla.
Sobre la imagen, sinceramente lo veo innecesario porque la instalación de Bitcoin Core es bien sencilla como podrás comprobar en este hilo; lo más engorroso son los pasos acometidos hasta ahora (que no son los propios de Bitcoin Core) y la descarga, validación e indexacion de la blockchain. Incluir la blockchain en una imagen junto al sistema operativo y cliente no es viable porque la cadena de bloques se ubica en un disco externo.
He pensado que el formato 'taller' permite completar la instalación del nodo, aprendiendo, entendiendo y solventando posibles dudas por parte de otros foreros.
 
Jorobar Mojon no me digas que no tienes ya montado un nodo bitcoin. Si no es asi no se a que esperas.

Y para montar un nodo LN con lnd sigues el tutorial de referencia e ya:

Luego ya cualquier duda pues pregunta por aqui pero con la guia deberias tener suficiente.
He tenido un nodo funcionando durante años, pero me trasladé de domicilio hace unos meses y lo desconecté.
 
Por cierto, la nueva versión de LND, la 0.4.2 utiliza menos recursos que la anterior; por lo que irá más holgado nuestro nodo.

 
Jorobar no he podido comprar con cacharros todavía pero sigo el hilo con atención.

Que no decaiga que merece mucho la pena.
 
Ya tengo comunicada la Pi a traves de Putty por Ethernet, por wifi me ha sido imposible.

La idea era dejarla al lado del modem conectada por cable, pero me he picado con el wifi y me he tirado un par de horas probando cosas sin resultado.

Me sale este mensaje en el arranque " Starting disable wifi if country not set"
He buceado por foros y parece que le pasa a mas gente, he probado algunos comandos sin resultado.

A ver si a alguien sabe de que puede ser.
 
Ya tengo comunicada la Pi a traves de Putty por Ethernet, por wifi me ha sido imposible.

La idea era dejarla al lado del modem conectada por cable, pero me he picado con el wifi y me he tirado un par de horas probando cosas sin resultado.

Me sale este mensaje en el arranque " Starting disable wifi if country not set"
He buceado por foros y parece que le pasa a mas gente, he probado algunos comandos sin resultado.

A ver si a alguien sabe de que puede ser.
¿Puedes repasar que en el archivo "wpa_supplicant.conf" estén los parámetros (sobre todo el de country)?:

country=ES
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="nuestronombrederedwifi"
psk="lacontraseñadenuestrawifi"
key_mgmt=WPA-PSK


Sino, otra opción más sencilla, ya que pones que estas conectado por cable, es liquidar el comando:

sudo raspi-config

Aparecerá una pantalla donde puedes configurar los parámetros de conexión (dentro de 'Network options') WiFi y el 'country' (en 'Localisation options'):


You must be registered for see images
You must be registered for see images
 
Última edición:
Solucionado :Aplauso::Aplauso::Aplauso:

El archivo wpa estaba correcto. He configurado el menu que indicas y ahora si que funciona.
 
PASO 4 - CONFIGURACIONES VARIAS DE LA RASPBERRY
  • Cambio de contraseña por defecto:
a) Escribimos el siguiente comando:

Código:
sudo raspi-config

Nos aparecerá el siguiente menú:

You must be registered for see images


b) Seleccionamos "Change User Password", nos saldrá un mensaje avisando de que nos va a pedir un nuevo password del usuario "Pi" (You will now be asked to enter a new password for the pi user), seleccionamos "OK" e introducimos dos veces el nuevo password.

You must be registered for see images


Salimos del asistente "raspi-config" pulsando el botón "Finish"
  • Configurar IP fija
Para que la IP de nuestra raspberry siempre sea la misma y así facilitar el acceso al puerto 8333 desde el exterior (paso que se realizará más adelante), se debe hacer lo siguiente:

a) Conocer la configuración IP de la raspberry:

Para ello ejecutamos dos comandos:

Código:
ip -4 addr show dev eth0 | grep inet

Nos fijaremos en la IP actual y su mascara (recuadro en rojo):

Y el otro comando:

Código:
ip route | grep default | awk '{print $3}'

Nos devolverá el Gateway de la ruta por defecto (0.0.0.0), en mi caso 192.168.1.1 (recuadro amarillo)

You must be registered for see images


En el caso de que nuestra conexión sea a través de Wifi, el primer comando para conocer los parámetros de red será:

Código:
ip -4 addr show dev wlan0 | grep inet

De tal forma que los datos recogidos los usaremos para cambiar la IP de nuestra raspberry. La IP que le debemos poner será una que no sirva el servidor DHCP de nuestra casa (normalmente el router); si desconocemos cuales sirve, usaremos una del final del rango de red; en mi caso, por poner un ejemplo, la IP que tiene la raspberry es la 192.168.1.48 y la que voy a escoger del final será la 192.168.1.254.

b) Para fijar estáticamente la IP editaremos el archivo "dhcpcd.conf" mediante el comando:

Código:
sudo nano /etc/dhcpcd.conf

En este archivo la mayoría de los parámetros están comentados (con #), nos moveremos con los cursores del teclado hasta abajo del todo (final del documento), añadiremos nuestros parámetros IP recogidos en el punto a) y uno o dos servidores de nombre (podéis poner el 1.1.1.1 como yo):

En caso de conexión por cable:


Código:
interface eth0
static ip_address=192.168.1.254/24
static routers=192.168.1.1
static domain_name_servers=1.1.1.1

En caso de conexión por WiFi:

Código:
interface wlan0
static ip_address=192.168.1.254/24
static routers=192.168.1.1
static domain_name_servers=1.1.1.1

Para guardar el fichero pulsamos la tecla "Control" y sin soltarla la "x"; nos preguntará si queremos guardar los cambios, soltamos las teclas y pulsamos la "y" y después la tecla intro para sobreescribir el fichero.

c) Reiniciamos la raspberry para que los cambios surjan efecto con el siguiente comando:


Código:
sudo shutdown -r now

d) Ahora para conectarnos a la raspberry usaremos el nuevo password y la nueva IP escogida.
  • Preparar el disco duro
A continuación vamos a preparar el disco duro usb para que se arranque siempre al inicio del sistema y le daremos el formato adecuado:

a) Si no lo tenemos conectado, conectar el disco duro a la raspberry en cualquier puerto USB que queramos.
b) Listamos los medios de almacenamiento de la rasp con el comando:


Código:
lsblk

You must be registered for see images


El disco duro en mi caso es el que tiene el nombre "sda", queda claro si nos fijamos en el tamaño (931,5G) y la partición que tengo que formatear será la llamada "sda1"; la formatearé con el comando:

Código:
sudo mkfs.ext4 /dev/sda1

Esperamos a que termine el proceso y cuando acabe seguimos con el punto c)

c) Una vez formateado lo montaremos en el directorio .bitcoin (que es donde ira la blockchain, wallet... y también la swap) para que siempre arranque con la raspberry. Para ello, primero creamos el directorio .bitcoin con el siguiente comando:

Código:
mkdir .bitcoin

d) Ejecutamos el siguiente comando para sacar la información necesaria de nuestro disco duro:

Código:
sudo blkid

You must be registered for see images


nos fijaremos en el PARTUUID que aparece en la línea de la partición antes formateada (sda1) en mi caso es el d87a2631-01

e) Ejecutamos el siguiente comando para editar el archivo fstab:

Código:
sudo nano /etc/fstab

Se nos abrirá el archivo y debemos añadir la siguiente línea cambiando el PARTUUID por el que haya ansioso en el paso d):

Código:
PARTUUID=d87a2631-01 /home/pi/.bitcoin ext4 defaults,noatime 0 0

You must be registered for see images


Para guardar el fichero pulsamos la tecla "Control" y sin soltarla la "x"; nos preguntará si queremos guardar los cambios, soltamos las teclas y pulsamos la "y" y después la tecla intro para sobreescribir el fichero.

f) Reiniciamos la raspberry para que los cambios surjan efecto con el siguiente comando:

Código:
sudo shutdown -r now

g) Nos conectamos de nuevo a la raspberry y comprobamos que todo haya ido bien con el comando:

Código:
df -h

Nos tiene que aparecer que la partición sda1 (en mi caso) esta montada en /home/pi/.bitcoin

You must be registered for see images


h) Crear memoria swap de 2GB en nuestro disco duro.
La raspberry trae 1GB de memoria RAM , podemos crear un máximo de 2GB adicionales en nuestro disco duro para que en caso de necesitar mas memoria pueda usarla de ahí. Seguiremos los siguientes pasos:

Nos meteremos dentro del directorio .bitcoin (que es donde esta montado el disco duro) con el comando:

Código:
cd .bitcoin

Creamos el directorio "swap" que es el espacio que reservaremos para la memoria de 2GB en caso de que la raspberry necesite usarla:

Código:
sudo mkdir swap

Movemos la swap al directorio swap (este paso tarda unos segundos en aplicarse):

Código:
sudo dd if=/dev/zero of=/home/pi/.bitcoin/swap/swap.file bs=1M count=2148


Editamos el fichero que indica la ruta del fichero SWAP para indicarle nuestra nueva ruta:

Código:
sudo nano /etc/dphys-swapfile

Buscamos dentro del fichero las siguiente líneas y las modificamos como aparece en la imagen:

You must be registered for see images


Código:
CONF_SWAPFILE=/home/pi/.bitcoin/swap/swap.file
CONF_SWAPSIZE=2048

Guardamos el fichero pulsando la tecla "Control" y sin soltarla la "x"; nos preguntará si queremos guardar los cambios, soltamos las teclas y pulsamos la "y" y después la tecla intro para sobreescribir el fichero.

Reiniciamos la raspberry para que los cambios surjan efecto con el siguiente comando:

Código:
sudo shutdown -r now

i) Comprobamos que el paso h) haya ido correctamente con el comando:

Código:
free -h


You must be registered for see images


Como vemos aparecerán 2GB de swap.
  • Aumentar el consumo permitido por defecto al disco USB (solo seguir este paso si el disco duro no lleva alimentación propia como es el caso del disco duro recomendado):
Por defecto el consumo máximo que permite la raspberry por los puertos USB es de 600 mA. Se aumenta de forma muy sencilla, editando el siguiente archivo:

Código:
sudo nano /boot/config.txt

Nos movemos con los cursores hasta el final del archivo y añadimos la línea:

Código:
max_usb_current=1

Guardamos el fichero pulsando la tecla "Control" y sin soltarla la "x"; nos preguntará si queremos guardar los cambios, soltamos las teclas y pulsamos la "y" y después la tecla intro para sobreescribir el fichero.

Reiniciamos la raspberry para que los cambios surjan efecto con el siguiente comando:

Código:
sudo shutdown -r now
 
Última edición:
Un problemilla que veo ahi es que si formateas el HDD con ext4 te va a ser mas complicado luego enchufar el HDD al PC para hacer la sincronizacion inicial de la blockchain.
 
Un problemilla que veo ahi es que si formateas el HDD con ext4 te va a ser mas complicado luego enchufar el HDD al PC para hacer la sincronizacion inicial de la blockchain.

Si, si la idea es coger el disco y conectarlo al PC con Windows será un problema; pero hay otras opciones:

- Puedes compartir la carpeta .bitcoin en el PC con Windows, acceder a la carpeta desde la raspberry y copiar su contenido. Esta opción es la que he escogido para mis dos raspberrys y es sencilla de acometer.

- Descargar de Internet la blockchain. Esta es la que estoy pensando usar para este taller, por ser la más cómoda para todos; subiría a Internet la blockchain de mi nodo y os pasaría el enlace. Lo que no he mirado aún es donde subirla. ¿alguna sugerencia?

He optado por ext4 por ser la recomendada en Debian, pero si nuestra idea es coger el disco y enchufarlo a un PC con Windows, ciertamente es mejor formatear el disco con fat32 por ejemplo.

ninfireblade, para formatearlo con FAT32 y añadirlo a fstab, no tengo los comandos a mano, pero serían así, no?

Formatearlo:
sudo mkfs.vfat /dev/sda1 -n bitcoin

Añadir la siguiente línea a fstab (paso e) de "preparar disco duro):
PARTUUID=d87a2631-01 /home/pi/.bitcoin vfat defaults,noatime 0 0
 
FAT32 no me parece muy recomendable, yo lo tengo con NTFS, que es como me venia formateado el HDD de fabrica.

En el fstab lo tengo así:

UUID=726E5D776E5D34D7 /mnt/hdd ntfs-3g defaults,nofail,auto,umask=000,users,rw 0 0

De todas formas estoy de acuerdo en que lo mejor si no vas a enchufar nunca el HDD a un Windows es formatearlo con ext4

EDITO para decir que FAT32 lo descartes totalmente, max volume size = 4 GB
 
Última edición:
FAT32 no me parece muy recomendable, yo lo tengo con NTFS, que es como me venia formateado el HDD de fabrica.

En el fstab lo tengo así:

UUID=726E5D776E5D34D7 /mnt/hdd ntfs-3g defaults,nofail,auto,umask=000,users,rw 0 0

De todas formas estoy de acuerdo en que lo mejor si no vas a enchufar nunca el HDD a un Windows es formatearlo con ext4

EDITO para decir que FAT32 lo descartes totalmente, max volume size = 4 GB

Cierto! No me acordaba del límite de 4GB de FAT32. Cada vez uso menos Windows.

Pues nada, para formatearlo a NTFS se haría con el comando:

sudo mkfs.ntfs /dev/sda1

Y la línea de fstab, la comentada por ninfireblade, cambiando la ruta y el PARTIUID por el de nuestro disco:

PARTUUID=d87a2631-01 /home/pi/.bitcoin ntfs-3g defaults,nofail,auto,umask=000,users,rw 0 0
 
Última edición:
BMC, oye... Como ves usar una RP2 en vez de una 3, funcionará? Me he encontrado una por casa, bueno aunque me digas que no, lo probaré...jeje
 
BMC, oye... Como ves usar una RP2 en vez de una 3, funcionará? Me he encontrado una por casa, bueno aunque me digas que no, lo probaré...jeje
Yo creo que si funcionará, ya tuve una haciendo de nodo. No hay grandes diferencias entre la 2 y la 3.
Ya nos contarás.
 
En este de bitcointalk la gente sube su blockchain actualizada y la comparte por Torrent, podéis descargarla de ahí a ver qué tal.
 
En este de bitcointalk la gente sube su blockchain actualizada y la comparte por Torrent, podéis descargarla de ahí a ver qué tal.
Lo creo que ocurre con esas descargas es que te bajas la cadena de bloques pero están sin indexar. Y el indexado es volver a validar toda la blockchain, que es lo que quiero evitar porque con la raspberry es un proceso que dura semanas.
Estoy comprimiendo la cadena de bloques de uno de mis nodos en 7z; por lo que veo ocupará unos 100GB. ¿Alguno conoce un sitio donde pueda subir el archivo comprimido?
 
Otra web que he encontrado:
Sería cuestión de ver si ya está indexado.

---------- Post added 15-jun-2018 at 15:52 ----------

Y otra por aquí:
 
Otra web que he encontrado:
Sería cuestión de ver si ya está indexado.

---------- Post added 15-jun-2018 at 15:52 ----------

Y otra por aquí:
Gracias Sota, les echaré un vistazo a ver.
 
Lo creo que ocurre con esas descargas es que te bajas la cadena de bloques pero están sin indexar. Y el indexado es volver a validar toda la blockchain, que es lo que quiero evitar porque con la raspberry es un proceso que dura semanas.
Estoy comprimiendo la cadena de bloques de uno de mis nodos en 7z; por lo que veo ocupará unos 100GB. ¿Alguno conoce un sitio donde pueda subir el archivo comprimido?

Gratuitos no creo que haya ninguno con tanta capacidad. MEGA son 35 GB, se podria partir el archivo y subirlo a tres cuentas diferentes.

Tambien se podria crear un torrent y pasarnoslo P2P, supongo que funcionaria bien. 😛ienso:

Edit: Si no veis factible ninguna de estas opciones gratuitas ya pago yo un mes de MEGA 200 GB que son solo 5 €.
 
Última edición:

Estadísticas del foro

Temas
2.049.567
Mensajes
58.151.635
Miembros
190.834
Último miembro
Xxtoxicxx

El blog de burbuja.info

Volver