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

Creo que ya tengo el paso 5.

He tenido problemillas con las descargas. A pesar de estar la PI conectada al wifi parecia que no tena acceso a internet. He reseteado el modem y la he conectado por eth en lugar de por wifi (que es donde quedara al final) y ha ido todo bien.

Estoy teniendo el mismo problema, el como configurar el S.O litle de la RP no está bien, hay algo que falla. Yo la quiero hacer funcionar con wifi. Asi que a ver si tengo tiempo y sigo trasteando.
A ver si puedo copiar la conf. De red del kodi que va con la wifi en otra RP
 
Estoy teniendo el mismo problema, el como configurar el S.O litle de la RP no está bien, hay algo que falla. Yo la quiero hacer funcionar con wifi. Asi que a ver si tengo tiempo y sigo trasteando.
A ver si puedo copiar la conf. De red del kodi que va con la wifi en otra RP
¿Que problema tienes exactamente sirpask?
Te conectas a la red WiFi (paso 3) pero cuando le configuras la IP que quieres no accedes a internet (paso 4)?

Si es que te falla en el paso 3, prueba esto que le comente a DEREC:

Burbuja.info - Foro de economía - Ver Mensaje Individual - Taller - Montar un nodo Bitcoin
 
No os olvido a los que estáis siguiendo el taller! Simplemente ando con menos tiempo libre estos días.
Intentare añadir el siguiente paso este fin de semana.
 
- PASO 6 - DESCARGA DE LA CADENA DE BLOQUES, CONFIGURACION Y PRIMER ARRANQUE:

Una vez finalizado el paso 5, ya es posible ejecutar el malo Bitcoin (bitcoind &) y así comenzar el proceso de descarga y validación de la cadena de bloques. No obstante, este proceso tarda varias semanas en completarse en la raspberry y es posible hacerlo en poco tiempo si descargamos la cadena ya validada desde un torrent. Lo he probado con mi raspberry y en mi caso la descarga se ha completado en menos de 24h (depende de la velocidad de conexión).
Para descargarla desde torrent seguiremos los siguientes pasos introduciendo los comandos uno a uno:

1- Creamos los directorios donde se realizará la descarga:

Código:
mkdir .bitcoin/finalizados
mkdir .bitcoin/incompletos
chmod 777 .bitcoin/incompletos/
chmod 777 .bitcoin/finalizados/

2- Instalamos un cliente torrent:

Código:
sudo apt-get update
sudo apt-get install tras*mission-daemon

imagen.png


3- Paramos el servicio torrent:

Código:
sudo /etc/init.d/tras*mission-daemon stop

4- Editamos el fichero de configuración de tras*mission ejecutando el siguiente comando en la terminal:

Código:
sudo nano /etc/tras*mission-daemon/settings.json

Debemos editar los siguientes parámetros que se nos muestran de la siguiente manera:

Código:
“cache-size-mb”: 10,
“download-dir”: “/home/pi/.bitcoin/finalizados“,
“incomplete-dir”: “/home/pi/.bitcoin/incompletos“,
“incomplete-dir-enabled”: true,
“peer-port”: 51413,
“preallocation”: 2,
“rpc-enabled”: true,
“rpc-password”: “contraseña“,
“rpc-port”: 9091,
“rpc-username”: “nombre_usuario“,
“rpc-whitelist”: “127.0.0.1,192.168.*.*”,
“rpc-whitelist-enabled”: true,
“umask”: 2,

Una vez cambiados, salimos pulsando "Crtl" + "x" y pulsamos "y" para guardar los cambios.

5- Arrancamos el cliente:

Código:
sudo service tras*mission-daemon start

6- Añadimos los archivos a descargar por torrent mediante los siguientes comandos:

Código:
tras*mission-remote -n 'tras*mission:tras*mission' -a [URL="https://getbitcoinblockchain.com/blockchain.torrent"]"https://getbitcoinblockchain.com/blockchain.torrent[/URL]"

tras*mission-remote -n 'tras*mission:tras*mission' -a "[URL]https://getbitcoinblockchain.com/update.torrent[/URL]"

7- Tras el paso 6, la descarga comenzará y dependiendo de nuestra velocidad/calidad de conexión tardara mas o menos tiempo; en mi caso en menos de 24h estaba completa.
Para ver la evolución:

Código:
tras*mission-remote -n 'tras*mission:tras*mission' –l

imagen.png


8- Cuando finalice la descarga, paramos el servicio:

Código:
sudo /etc/init.d/tras*mission-daemon stop

imagen.png


9- Desinstalamos el cliente torrent:

Código:
sudo apt-get remove tras*mission-common

10- Movemos los elementos descargados al directorio .bitcoin:

Código:
sudo mv -vf .bitcoin/finalizados/update/blockchain/* .bitcoin/
sudo mv .bitcoin/finalizados/blockchain/blocks/ .bitcoin/blocks/
sudo mv .bitcoin/blocks/blocks/* .bitcoin/blocks/

11- Eliminamos directorios no necesarios:

Código:
sudo rm -d .bitcoin/blocks/blocks/
sudo rm -d .bitcoin/incompletos/
sudo rm -dfr .bitcoin/finalizados/

12- Cambiamos permisos de los directorios descargados para que funcionen con nuestro usuario:

Código:
sudo chmod -R 744 .bitcoin/
sudo chown -R pi .bitcoin/

13- Configuramos el cliente bitcoin editando el fichero bitcoin.conf:

Código:
nano .bitcoin/bitcoin.conf

En el escribimos las siguientes líneas:

Código:
mqpubrawblock=tcp://127.0.0.1:18504
zmqpubrawtx=tcp://127.0.0.1:18504
rpcuser=eluserquequeramos
rpcpassword=elpasswordquequeramos
daemon=1
server=1
dbcache=1000

Guardamos los cambios pulsando “Ctrl” + “x” y respondemos “y”

14- Arrancamos el malo bitcoin:

Código:
bitcoind &

Esperamos unos segundos (20-30) mientras arranca, carga los bloques… y tras ello introducimos:

Código:
bitcoin-cli -getinfo

Si todo ha ido bien aparecerá lo siguiente:

94566

15- A partir de aquí, los bloques restantes se irán descargando hasta estar al día. Podemos ver su evolución con el comando "bitcoin-cli -getinfo" o más concretamente con "bitcoin-cli getblockcount":
 
Última edición:
Bmb, un par de cositas

En estos dos comandos he tenido que poner sudo delante o me denegaba el permiso.

mkdir .bitcoin/finalizados
mkdir .bitcoin/incompletos


Cuidado al editar estas lineas en el archivo de configuracion:

“download-dir”: “/home/pi/.bitcoin/finalizados “,
“incomplete-dir”: “/home/pi/.bitcoin/incompletos“,


Si haces copia-pega, las comillas no las lee bien, parecen otro tipo de comillas. Las he tecleado a mano y se arregla.

Creo que ya tengo las descargas activas, pero el comando

tras*mission-remote -n 'tras*mission:tras*mission' –l

no me está funcionando


pi@raspberrypi:~ $ tras*mission-remote -n 'tras*mission:tras*mission' –l
Unknown option: –l
pi@raspberrypi:~ $


Pruebo este otro y parece que hay descargas activas, no sé. :pienso:


pi@raspberrypi:~/.bitcoin $ systemctl status tras*mission-daemon.service -l
● tras*mission-daemon.service - tras*mission BitTorrent Daemon
Loaded: loaded (/lib/systemd/system/tras*mission-daemon.service; enabled; ven
Active: active (running) since Fri 2018-06-22 20:08:14 UTC; 36min ago
Process: 4559 ExecStop=/bin/kill -s STOP $MAINPID (code=exited, status=0/SUCCE
Main PID: 4654 (tras*mission-da)
Status: "Uploading 452.63 KBps, Downloading 2063.62 KBps."
CGroup: /system.slice/tras*mission-daemon.service
└─4654 /usr/bin/tras*mission-daemon -f --log-error


tras*mission-daemon.service - tras*mission BitTorrent Daemon
Loaded: loaded (/lib/systemd/system/tras*mission-daemon.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2018-06-22 20:08:14 UTC; 36min ago
Process: 4559 ExecStop=/bin/kill -s STOP $MAINPID (code=exited, status=0/SUCCESS)
Main PID: 4654 (tras*mission-da)
Status: "Uploading 452.63 KBps, Downloading 2063.62 KBps."
CGroup: /system.slice/tras*mission-daemon.service
└─4654 /usr/bin/tras*mission-daemon -f --log-error


Edit:

Definitivamente algo estoy descargando. El otro comando creo que no va por algun caracter con error al hacer copia-pega.


pi@raspberrypi:~ $ tras*mission-remote -n tras*mission:tras*mission -st

CURRENT SESSION
Uploaded: 2.50 GB
Downloaded: 10.14 GB
Ratio: 0.2
Duration: 1 hour, 3 minutes (3815 seconds)

TOTAL
Started 1 times
Uploaded: 2.50 GB
Downloaded: 10.14 GB
Ratio: 0.2
Duration: 1 hour, 3 minutes (3815 seconds)

 
Última edición:
Bmb, un par de cositas

En estos dos comandos he tenido que poner sudo delante o me denegaba el permiso.

mkdir .bitcoin/finalizados
mkdir .bitcoin/incompletos


Cuidado al editar estas lineas en el archivo de configuracion:

“download-dir”: “/home/pi/.bitcoin/finalizados “,
“incomplete-dir”: “/home/pi/.bitcoin/incompletos“,


Si haces copia-pega, las comillas no las lee bien, parecen otro tipo de comillas. Las he tecleado a mano y se arregla.

Creo que ya tengo las descargas activas, pero el comando

tras*mission-remote -n 'tras*mission:tras*mission' –l

no me está funcionando


pi@raspberrypi:~ $ tras*mission-remote -n 'tras*mission:tras*mission' –l
Unknown option: –l
pi@raspberrypi:~ $


Pruebo este otro y parece que hay descargas activas, no sé. :pienso:


pi@raspberrypi:~/.bitcoin $ systemctl status tras*mission-daemon.service -l
● tras*mission-daemon.service - tras*mission BitTorrent Daemon
Loaded: loaded (/lib/systemd/system/tras*mission-daemon.service; enabled; ven
Active: active (running) since Fri 2018-06-22 20:08:14 UTC; 36min ago
Process: 4559 ExecStop=/bin/kill -s STOP $MAINPID (code=exited, status=0/SUCCE
Main PID: 4654 (tras*mission-da)
Status: "Uploading 452.63 KBps, Downloading 2063.62 KBps."
CGroup: /system.slice/tras*mission-daemon.service
└─4654 /usr/bin/tras*mission-daemon -f --log-error


tras*mission-daemon.service - tras*mission BitTorrent Daemon
Loaded: loaded (/lib/systemd/system/tras*mission-daemon.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2018-06-22 20:08:14 UTC; 36min ago
Process: 4559 ExecStop=/bin/kill -s STOP $MAINPID (code=exited, status=0/SUCCESS)
Main PID: 4654 (tras*mission-da)
Status: "Uploading 452.63 KBps, Downloading 2063.62 KBps."
CGroup: /system.slice/tras*mission-daemon.service
└─4654 /usr/bin/tras*mission-daemon -f --log-error


Edit:

Definitivamente algo estoy descargando. El otro comando creo que no va por algun caracter con error al hacer copia-pega.


pi@raspberrypi:~ $ tras*mission-remote -n tras*mission:tras*mission -st

CURRENT SESSION
Uploaded: 2.50 GB
Downloaded: 10.14 GB
Ratio: 0.2
Duration: 1 hour, 3 minutes (3815 seconds)

TOTAL
Started 1 times
Uploaded: 2.50 GB
Downloaded: 10.14 GB
Ratio: 0.2
Duration: 1 hour, 3 minutes (3815 seconds)

No me cuadra lo que dices de que has tenido que crear los directorios con sudo porque he repasado el punto 4 y el directorio .bitcoin lo creamos sin sudo.

Lo de las comillas es cierto; yo lo he copiado/pegado directamente de mi raspberry, pero este foro hace lo que quiere con los formatos. A ver si en otro rato lo arreglo.

Pero bueno, da igual porque los directorios y el cliente se borran una vez que termine la descarga.

Puedes ver si realmente se está descargando algo haciendo un ls al directorio 'incompletos':

ls .bitcoin/incompletos/
 
Última edición:
No me cuadra lo que dices de que has tenido que crear los directorios con sudo porque he repasado el punto 4 y el directorio .bitcoin lo creamos sin sudo.

Lo de las comillas es cierto; yo lo he copiado/pegado directamente de mi raspberry, pero este foro hace lo que quiere con los formatos. A ver si en otro rato lo arreglo.

Pero bueno, da igual porque los directorios y el cliente se borran una vez que termine la descarga.

Puedes ver si realmente se está descargando algo haciendo un ls al directorio 'incompletos':

ls .bitcoin/incompletos/

Código:
Creo que para poner los comandos es mejor usar la etiqueta CODE, asi no modifica caracteres

Parece que va bien la cosa, ahi lo dejo descargando.

Código:
[tonalidad="Blue"]pi@raspberrypi:~ $ ls .bitcoin/incompletos/
blockchain  update
pi@raspberrypi:~ $ ^C
pi@raspberrypi:~ $[/tonalidad]
 
Actualizado el post 6 con la etiqueta CODE (gracias DEREC); a ver si así no cambia de formato.

Por otra parte, he probado, en la raspberry que estoy usando para este taller (sin txindex habilitado) a enviar y recibir pagos por LND y han funcionado correctamente. Así que cuando acabemos con la instalación del cliente bitcoin (queda solo el paso de abrir los puertos del router), podremos instalar el cliente LND para lightning network.
 
Ya estamos otra vez por aqui.


Código:
pi@raspberrypi:~ $ bitcoin-cli -getinfo
{
  "version": 160100,
  "protocolversion": 70015,
  "walletversion": 159900,
  "balance": 0.00000000,
  "blocks": 529206,
  "timeoffset": -1,
  "connections": 8,
  "proxy": "",
  "difficulty": 5077499034879.017,
  "testnet": false,
  "keypoololdest": 1529873439,
  "keypoolsize": 1000,
  "paytxfee": 0.00000000,
  "relayfee": 0.00001000,
  "warnings": ""
}
pi@raspberrypi:~ $
 
Ya estamos otra vez por aqui.


Código:
pi@raspberrypi:~ $ bitcoin-cli -getinfo
{
  "version": 160100,
  "protocolversion": 70015,
  "walletversion": 159900,
  "balance": 0.00000000,
  "blocks": 529206,
  "timeoffset": -1,
  "connections": 8,
  "proxy": "",
  "difficulty": 5077499034879.017,
  "testnet": false,
  "keypoololdest": 1529873439,
  "keypoolsize": 1000,
  "paytxfee": 0.00000000,
  "relayfee": 0.00001000,
  "warnings": ""
}
pi@raspberrypi:~ $
Genial! Ya tienes un nodo completo bitcoin sincronizado.
Has tenido algún problema mas con el último paso? (Mencionaste el de crear los directorios).
Lo comento por si tengo que modificar algo.

Lo siguiente que deberemos hacer será abrir (redirigir) los puertos TCP 8333 (bitcoin) y 9735 (LND) del router hacia la ip de la raspberry. En el caso de bitcoin es opcional pero en el de LND es necesario para que puedan abrir canales con nosotros.

Si veis necesario que explique este paso indicarlo, pero eso va en la configuración del router de cada uno. También podéis colgar pantallazos del router por si se puede echar una mano.
 
El resto del proceso ha ido sin incidentes :D.


El router es un tecnicolor. Supongo que sera el menu port routing, no estoy seguro de que poner en IP y puerto externo. Luego no sé que prueba se puede hacer para verificar que el nodo es accesible desde fuera.

Sin t tulod
 
El resto del proceso ha ido sin incidentes :D.


El router es un tecnicolor. Supongo que sera el menu port routing, no estoy seguro de que poner en IP y puerto externo. Luego no sé que prueba se puede hacer para verificar que el nodo es accesible desde fuera.

Sin t tulod

Si, es en ese menú donde hay que configurarlo. Lo único, en "External IP Address", o lo dejas vacío o pones tu IP publica (si no la sabes aquí te la dice: https://www.whatismyip.com/es/)
Tienes que hacer lo mismo pero con el puerto 9735

Puedes comprobar si el nodo es accesible desde fuera al puerto 8333 (una vez configurado el router y con el nodo en marcha) entrando a esta web:

Coin Dance | Bitcoin Nodes Summary

- Introduces tu ip publica ,pinchas en "CHECK" y si esta abierto saldrá:

imagen.png
 
Si, es en ese menú donde hay que configurarlo. Lo único, en "External IP Address", o lo dejas vacío o pones tu IP publica (si no la sabes aquí te la dice: https://www.whatismyip.com/es/)
Tienes que hacer lo mismo pero con el puerto 9735

Puedes comprobar si el nodo es accesible desde fuera al puerto 8333 (una vez configurado el router y con el nodo en marcha) entrando a esta web:

Coin Dance | Bitcoin Nodes Summary

- Introduces tu ip publica ,pinchas en "CHECK" y si esta abierto saldrá:

imagen.png

En coindance no consigo ver mi nodo :pienso:. Hoy durante un momento ha funcionado, pero ahora ya no.

He probado esta otra Global Bitcoin Nodes Distribution - Bitnodes y si que me veo de manera estable . Por cierto, soy el unico en mi provincia, no pensaba que era tan friki.:D


Edit: no se que pasa pero el nodo va y viene, no está permanentemente visible.
 
Última edición:
Solo hay 60 nodos en España :roto2: al menos los que anuncian su presencia.
 
Volver