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

sirpask

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

bmbnct

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

bmbnct

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

bmbnct

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


3- Paramos el servicio torrent:

Código:
sudo /etc/init.d/transmission-daemon stop
4- Editamos el fichero de configuración de Transmission ejecutando el siguiente comando en la terminal:

Código:
sudo nano /etc/transmission-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 transmission-daemon start
6- Añadimos los archivos a descargar por torrent mediante los siguientes comandos:

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

transmission-remote -n 'transmission:transmission' -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:
transmission-remote -n 'transmission:transmission' –l


8- Cuando finalice la descarga, paramos el servicio:

Código:
sudo /etc/init.d/transmission-daemon stop


9- Desinstalamos el cliente torrent:

Código:
sudo apt-get remove transmission-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:

DEREC

Madmaxista
Desde
30 Mar 2008
Mensajes
8.357
Reputación
23.649
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

transmission-remote -n 'transmission:transmission' –l

no me está funcionando


pi@raspberrypi:~ $ transmission-remote -n 'transmission:transmission' –l
Unknown option: –l
pi@raspberrypi:~ $


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


pi@raspberrypi:~/.bitcoin $ systemctl status transmission-daemon.service -l
● transmission-daemon.service - Transmission BitTorrent Daemon
Loaded: loaded (/lib/systemd/system/transmission-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 (transmission-da)
Status: "Uploading 452.63 KBps, Downloading 2063.62 KBps."
CGroup: /system.slice/transmission-daemon.service
└─4654 /usr/bin/transmission-daemon -f --log-error


transmission-daemon.service - Transmission BitTorrent Daemon
Loaded: loaded (/lib/systemd/system/transmission-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 (transmission-da)
Status: "Uploading 452.63 KBps, Downloading 2063.62 KBps."
CGroup: /system.slice/transmission-daemon.service
└─4654 /usr/bin/transmission-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:~ $ transmission-remote -n transmission:transmission -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:

bmbnct

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

transmission-remote -n 'transmission:transmission' –l

no me está funcionando


pi@raspberrypi:~ $ transmission-remote -n 'transmission:transmission' –l
Unknown option: –l
pi@raspberrypi:~ $


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


pi@raspberrypi:~/.bitcoin $ systemctl status transmission-daemon.service -l
● transmission-daemon.service - Transmission BitTorrent Daemon
Loaded: loaded (/lib/systemd/system/transmission-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 (transmission-da)
Status: "Uploading 452.63 KBps, Downloading 2063.62 KBps."
CGroup: /system.slice/transmission-daemon.service
└─4654 /usr/bin/transmission-daemon -f --log-error


transmission-daemon.service - Transmission BitTorrent Daemon
Loaded: loaded (/lib/systemd/system/transmission-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 (transmission-da)
Status: "Uploading 452.63 KBps, Downloading 2063.62 KBps."
CGroup: /system.slice/transmission-daemon.service
└─4654 /usr/bin/transmission-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:~ $ transmission-remote -n transmission:transmission -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:

DEREC

Madmaxista
Desde
30 Mar 2008
Mensajes
8.357
Reputación
23.649
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:
[COLOR="Blue"]pi@raspberrypi:~ $ ls .bitcoin/incompletos/
blockchain  update
pi@raspberrypi:~ $ ^C
pi@raspberrypi:~ $[/COLOR]
 

bmbnct

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

DEREC

Madmaxista
Desde
30 Mar 2008
Mensajes
8.357
Reputación
23.649
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:~ $
 

bmbnct

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

DEREC

Madmaxista
Desde
30 Mar 2008
Mensajes
8.357
Reputación
23.649
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
 

bmbnct

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

 

DEREC

Madmaxista
Desde
30 Mar 2008
Mensajes
8.357
Reputación
23.649
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á:

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: