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

DEREC

Madmaxista
Desde
30 Mar 2008
Mensajes
8.333
Reputación
23.484
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.
 

bmbnct

Madmaxista
Desde
5 May 2010
Mensajes
2.256
Reputación
4.873
Lugar
Bajo techo
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 ejecutar 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'):


 
Última edición:

DEREC

Madmaxista
Desde
30 Mar 2008
Mensajes
8.333
Reputación
23.484
Solucionado :Aplauso::Aplauso::Aplauso:

El archivo wpa estaba correcto. He configurado el menu que indicas y ahora si que funciona.
 

bmbnct

Madmaxista
Desde
5 May 2010
Mensajes
2.256
Reputación
4.873
Lugar
Bajo techo
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ú:



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.



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)



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


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


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 salido en el paso d):

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


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



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:



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



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:

ninfireblade

Madmaxista
Desde
18 Jul 2008
Mensajes
3.319
Reputación
4.786
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.
 

bmbnct

Madmaxista
Desde
5 May 2010
Mensajes
2.256
Reputación
4.873
Lugar
Bajo techo
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
 

ninfireblade

Madmaxista
Desde
18 Jul 2008
Mensajes
3.319
Reputación
4.786
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:

bmbnct

Madmaxista
Desde
5 May 2010
Mensajes
2.256
Reputación
4.873
Lugar
Bajo techo
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:

sirpask

Será en Octubre
Desde
16 Oct 2009
Mensajes
51.600
Reputación
115.888
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
 

bmbnct

Madmaxista
Desde
5 May 2010
Mensajes
2.256
Reputación
4.873
Lugar
Bajo techo
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.
 

Sota_de_espadas

Vampiro blanco
Desde
30 Ene 2007
Mensajes
11.949
Reputación
19.632
En este hilo de bitcointalk la gente sube su blockchain actualizada y la comparte por Torrent, podéis descargarla de ahí a ver qué tal.
 

bmbnct

Madmaxista
Desde
5 May 2010
Mensajes
2.256
Reputación
4.873
Lugar
Bajo techo
En este hilo 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?
 

DEREC

Madmaxista
Desde
30 Mar 2008
Mensajes
8.333
Reputación
23.484
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. :pienso:

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: