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

  • Autor del tema Autor del tema bmbnct
  • Fecha de inicio Fecha de inicio
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 €.
Gracias DEREC. Se me ha ocurrido una alternativa que no se si funcionará (creo que si pero la tengo que probar); es comprimir el directorio donde se guarda el indexado, que son unos 16GB (comprimido espero que bastante menos), lo subo al drive de Google, os paso el enlace y la blockchain la descargáis de otro sitio (como los que propone Sota).
Lo pruebo y os comento.

¿Qué tal van los cuatro pasos realizados hasta ahora? Si tenéis dudas, preguntad, que esto es un foro!
 
Gracias DEREC. Se me ha ocurrido una alternativa que no se si funcionará (creo que si pero la tengo que probar); es comprimir el directorio donde se guarda el indexado, que son unos 16GB (comprimido espero que bastante menos), lo subo al drive de Google, os paso el enlace y la blockchain la descargáis de otro sitio (como los que propone Sota).
Lo pruebo y os comento.

¿Qué tal van los cuatro pasos realizados hasta ahora? Si tenéis dudas, preguntad, que esto es un foro!

Yo a ver si hoy me puedo poner con el paso 4. Por cierto, MEGA se puede pagar con Bitcoin. 😀
 
@bmbnct a ver si le encuentras explicacion a esto porque me está volviendo orate:


You must be registered for see images
 
Sale lo mismo, con el -a los ocultos que empiezan por . pero viene siendo lo mismo:

You must be registered for see images



Si es que no tiene sentido esto, debe ser algo relacionado con los sym link pero no está funcionando como debería.
 
Sale lo mismo, con el -a los ocultos que empiezan por . pero viene siendo lo mismo:

You must be registered for see images



Si es que no tiene sentido esto, debe ser algo relacionado con los sym link pero no está funcionando como debería.
Y te rellena con tabulador?

Es decir, si estás en .bitcoin_testnet y haces:

cd ../.bi y le das al tabulador

Te rellena a .bitcoin?
 
Y te rellena con tabulador?

Es decir, si estás en .bitcoin_testnet y haces:

cd ../.bi y le das al tabulador

Te rellena a .bitcoin?


Eso aun es mas raro. Si hago lo que dices me autocompleta a cd ../.bitcoin_testnet cuando en realidad hay 2 opciones (.bitcoin y .bitcoin_testnet)
 
Pero si vuelves a pulsar tabulador? Te debería mostrar las dos opciones.


Que va, le doy al tabulador cuando estoy en cd ../.bi y me autocompleta con cd ../.bitcoin_testnet

Lo correcto seria que dándole al tabulador autocomplete a .bitcoin y si ahi le doy dos veces más me muestre las dos opciones (bitcoin y bitcoin_test)
 
Que va, le doy al tabulador cuando estoy en cd ../.bi y me autocompleta con cd ../.bitcoin_testnet

Lo correcto seria que dándole al tabulador autocomplete a .bitcoin y si ahi le doy dos veces más me muestre las dos opciones (bitcoin y bitcoin_test)
Pues es curioso si. Primera vez que lo veo.
 
La faena es que me enteré de este error haciendo un mv de la blockchain de la testnet y en vez de moverlo, lo borró y no apareció en el destino. Ahora me toca sincronizarlo otra vez desde cero (no es mucho, unos 14 GB)
 
pi@raspberrypi:~ $ sudo mkfs.ntfs /dev/sda1
sudo: mkfs.ntfs: command not found
pi@raspberrypi:~ $

No me reconoce el comando 😛ienso:😛ienso:

lo he formateado en windows, pero luego no me sale aqui:


pi@raspberrypi:~ $ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 15G 1.1G 13G 8% /
devtmpfs 460M 0 460M 0% /dev
tmpfs 464M 0 464M 0% /dev/shm
tmpfs 464M 6.2M 458M 2% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 464M 0 464M 0% /sys/fs/cgroup
/dev/mmcblk0p1 43M 22M 21M 51% /boot
tmpfs 93M 0 93M 0% /run/user/1000
pi@raspberrypi:~ $
 
Última edición:
pi@raspberrypi:~ $ sudo mkfs.ntfs /dev/sda1
sudo: mkfs.ntfs: command not found
pi@raspberrypi:~ $

No me reconoce el comando 😛ienso:😛ienso:

lo he formateado en windows, pero luego no me sale aqui:


pi@raspberrypi:~ $ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 15G 1.1G 13G 8% /
devtmpfs 460M 0 460M 0% /dev
tmpfs 464M 0 464M 0% /dev/shm
tmpfs 464M 6.2M 458M 2% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 464M 0 464M 0% /sys/fs/cgroup
/dev/mmcblk0p1 43M 22M 21M 51% /boot
tmpfs 93M 0 93M 0% /run/user/1000
pi@raspberrypi:~ $
Formatealo con ext4. Empieza de nuevo en el paso d)

Mi recomendación, para los que no os defendéis con el sistema operativo debian, es que sigáis las indicaciones de los pasos que indico.

No te entra el comando porque te falta la librería para hacerlo. Si la instalas te dejara:

sudo apt-get install ntfs-3g
 
Formatealo con ext4. Empieza de nuevo en el paso d)

Mi recomendación, para los que no os defendéis con el sistema operativo debian, es que sigáis las indicaciones de los pasos que indico.

No te entra el comando porque te falta la librería para hacerlo. Si la instalas te dejara:

sudo apt-get install ntfs-3g

Pensaba que habiais quedado en que NTFS. Ok lo pruebo asi

Edit:

Ahora me atasco aqui. Con Linux no te aburres nunca :XX::XX:

of=/home/pi/.bitcoin/swap/swap.file bs=1M count=2148
dd: failed to open '/home/pi/.bitcoin/swap/swap.file': Permission denied
pi@raspberrypi:~/.bitcoin $ dd if=/dev/zero of=/home/pi/.bitcoin/swap/swap.file bs=1M count=2148
dd: failed to open '/home/pi/.bitcoin/swap/swap.file': Permission denied
pi@raspberrypi:~/.bitcoin $
 
Última edición:
Pensaba que habiais quedado en que NTFS. Ok lo pruebo asi

Edit:

Ahora me atasco aqui. Con Linux no te aburres nunca :XX::XX:

of=/home/pi/.bitcoin/swap/swap.file bs=1M count=2148
dd: failed to open '/home/pi/.bitcoin/swap/swap.file': Permission denied
pi@raspberrypi:~/.bitcoin $ dd if=/dev/zero of=/home/pi/.bitcoin/swap/swap.file bs=1M count=2148
dd: failed to open '/home/pi/.bitcoin/swap/swap.file': Permission denied
pi@raspberrypi:~/.bitcoin $
Prueba con:

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

Sí te funciona lo corrijo. Eso sí que puede que haya sido fallo mio.
 
Como pequeña mejora recomendaria el uso de fallocate en vez de usar dd.

El resultado es el mismo pero muchísimo mas rápido.

Por ejemplo: sudo fallocate -l 2G /mnt/hdd/swapfile
 
Prueba con:

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

Sí te funciona lo corrijo. Eso sí que puede que haya sido fallo mio.


Ahora si que va, ya he terminado con el paso 4 😀
 
@bmbnct alguna idea de por que me da este error ?


bitcoin@raspberrypi:~ $ lncli --lnddir=/home/bitcoin/.lnd_testnet create
Input wallet password:
Confirm wallet password:

Do you have an existing cipher seed mnemonic you want to use? (Enter y/n): n

Your cipher seed can optionally be encrypted.
Input your passphrase you wish to encrypt it (or press enter to proceed without a cipher seed passphrase):

Generating fresh cipher seed...

[lncli] unable to generate seed: rpc error: code = Internal desc = connection error: desc = "transport: authentication handshake failed: x509: certificate signed by unknown authority (possibly because of "x509: ECDSA verification failure" while trying to verify candidate authority certificate "raspberrypi")"
 
@bmbnct alguna idea de por que me da este error ?


bitcoin@raspberrypi:~ $ lncli --lnddir=/home/bitcoin/.lnd_testnet create
Input wallet password:
Confirm wallet password:

Do you have an existing cipher seed mnemonic you want to use? (Enter y/n): n

Your cipher seed can optionally be encrypted.
Input your passphrase you wish to encrypt it (or press enter to proceed without a cipher seed passphrase):

Generating fresh cipher seed...

[lncli] unable to generate seed: rpc error: code = Internal desc = connection error: desc = "transport: authentication handshake failed: x509: certificate signed by unknown authority (possibly because of "x509: ECDSA verification failure" while trying to verify candidate authority certificate "raspberrypi")"

¿Puedes mostrar los archivos bitcoin.conf y lnd.conf? (oculta los user/pass de RPC si quieres)

Otra pregunta, estas, en el mismo nodo, ejecutando lnd en la mainnet y en testnet?
Si sigue siendo así, recuerdo que en ambas redes, el puerto que usaba era el mismo (9735) y deberías, en una de las dos, cambiarlo por otro.
 
Última edición:
¿Puedes mostrar los archivos bitcoin.conf y lnd.conf? (oculta los user/pass de RPC si quieres)

Otra pregunta, estas, en el mismo nodo, ejecutando lnd en la mainnet y en testnet?
Si sigue siendo así, recuerdo que en ambas redes, el puerto que usaba era el mismo (9735) y deberías, en una de las dos, cambiarlo por otro.


Ya está solucionado. El problema era que al lncli hay que pasarle el rpcserver. No se por que motivo no lo pilla directamente del lnd.conf (que es de donde me los pilla el lnd al arrancar)

Respondiendo a tu pregunta, tengo en la raspberry corriendo dos nodos bitcoin (uno en mainnet y otro en testnet) y dos nodos lnd (main y test)

El motivo es que quiero programar una web que reciba pagos LN y para las pruebas casi mejor uso la testnet.
 
Ya está solucionado. El problema era que al lncli hay que pasarle el rpcserver. No se por que motivo no lo pilla directamente del lnd.conf (que es de donde me los pilla el lnd al arrancar)

Respondiendo a tu pregunta, tengo en la raspberry corriendo dos nodos bitcoin (uno en mainnet y otro en testnet) y dos nodos lnd (main y test)

El motivo es que quiero programar una web que reciba pagos LN y para las pruebas casi mejor uso la testnet.

Yo para arrancar LND ejecuto simplemente lnd. No le paso ningún parámetro. Todo lo coge de lnd.conf

Has mirado BTCpay? Soporta Lightning Network, con la comodidad de que genera automáticamente el código QR del invoice, los productos...
 
Última edición:
Yo para arrancar LND ejecuto simplemente lnd. No le paso ningún parámetro. Todo lo coge de lnd.conf

Has mirado BTCpay? Soporta Lightning Network, con la comodidad de que genera automáticamente el código QR del invoice, los productos...


El primer lnd que arranques en una maquina no necesita parametros porque por defecto lo pilla de ~/.lnd/lnd.conf

Pero si quieres correr un segundo nodo, en mi caso porque va en testnet, necesitas pasarle el lnddir y el configfile (debe ser un bug que pasandole el lnddir no pille de ahi dentro el lnd.conf y pille en cambio el lnd.conf de ~/.lnd, abriré un issue por si acaso)

Y luego el problema que tenia era con el lncli que le pasaba el lnddir y con eso era suficiente para que pillara el lnd.conf adecuado pero sin embargo no pilla el rpcserver del fichero de conf y hay que pasarselo tambien.

Lo de BTCPay no lo he probado pero ya que estoy prefiero fiarme de mi propio nodo siempre que pueda.
 
No seria posible que los que teneis un nodo LN en funcionamiento colgarais una imagen SD que ya este todo configurado?

Luego ya solo cambiando un par de parametros del disco externo,y algunas indicaciones para descargar la BC y el indice en el HDD ya estaria no?
 
El primer lnd que arranques en una maquina no necesita parametros porque por defecto lo pilla de ~/.lnd/lnd.conf

Pero si quieres correr un segundo nodo, en mi caso porque va en testnet, necesitas pasarle el lnddir y el configfile (debe ser un bug que pasandole el lnddir no pille de ahi dentro el lnd.conf y pille en cambio el lnd.conf de ~/.lnd, abriré un issue por si acaso)

Y luego el problema que tenia era con el lncli que le pasaba el lnddir y con eso era suficiente para que pillara el lnd.conf adecuado pero sin embargo no pilla el rpcserver del fichero de conf y hay que pasarselo tambien.

Lo de BTCPay no lo he probado pero ya que estoy prefiero fiarme de mi propio nodo siempre que pueda.

Ok! Sera por eso, dos nodos en la misma maquina nunca he tenido.

Sobre BTCPay, miralo, es un procesador de pagos de código abierto, que necesita tener un nodo LN, no te fías de terceros.
 
PASO 5 - ACTUALIZACION DEL SISTEMA E INSTALACION DEL CLIENTE BITCOIN CORE

- ACTUALIZACION DEL SISTEMA

Este paso es recomendable realizarlo cada dos meses, por ejemplo, para mantener el sistema operativo actualizado; se realiza con un par de comandos:

a) Descargar la lista actualizada de paquetes disponibles:

sudo apt-get update

You must be registered for see images


b) Actualizar los paquetes instalados en nuestro sistema; pulsamos "Y" cuando nos pregunte si queremos actualizar (este paso tarda un rato en completarse):

sudo apt-get upgrade

You must be registered for see images



- INSTALACION DEL CLIENTE BITCOIN CORE

Para instalar el cliente de Bitcoin:

a) Descargar el cliente desde bitcoin.org:

Código:
wget https://bitcoin.org/bin/bitcoin-core-0.17.1/bitcoin-0.17.1-arm-linux-gnueabihf.tar.gz


b) Comprobar que el archivo que nos hemos descargado no esta corrupto o manipulado mediante la suma de comprobación (checksum). Para ello introducir uno a uno los siguientes comandos (aquí ocurre lo mismo que en el paso a), el foro acorta el enlace):

Código:
wget https://bitcoin.org/bin/bitcoin-core-0.17.1/SHA256SUMS.asc
wget https://bitcoin.org/laanwj-releases.asc
sha256sum --check SHA256SUMS.asc --ignore-missing
gpg ./laanwj-releases.asc
gpg --import ./laanwj-releases.asc
gpg --verify SHA256SUMS.asc

Ampliar la pantalla del Putty, y comprobar que lo recuadrado en rojo es igual; si lo es, el archivo es correcto (lo habitual un 99,99% de las veces), sino, empezar de nuevo en el paso a):

Tienes que estar registrado para ver este contenido



c) Desempaquetar y descomprimir el archivo descargado:

Código:
tar -xvf bitcoin-0.17.1-arm-linux-gnueabihf.tar.gz

d) Instalación del cliente:

Código:
sudo install -m 0755 -o root -g root -t /usr/local/bin bitcoin-0.17.1/bin/*

e) Si la instalación ha sido correcta, al introducir el comando...

Código:
bitcoind --version

... nos saldrá lo siguiente:

Tienes que estar registrado para ver este contenido


LISTO, YA TENEMOS EL CLIENTE BITCOIN CORE INSTALADO EN LA RASPBERRY!
 

Adjuntos

Archivo oculto para usuarios no registrados
Última edición:

Estadísticas del foro

Temas
2.049.592
Mensajes
58.152.442
Miembros
190.834
Último miembro
Xxtoxicxx

El blog de burbuja.info

Volver