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

  • Autor del tema Autor del tema bmbnct
  • Fecha de inicio Fecha de inicio
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.
 
Sí accedes a la raspberry por wifi y sin embargo no sales a internet, tendrás que revisar dentro del paso 4, los parámetros:

interface wlan0

static ip_address=192.168.1.254/24

static routers=192.168.1.1

static domain_name_servers=1.1.1.1

Sobre todo que "static routers" sea la IP de tu router. O sino prueba a añadir otro DNS más en "static domain_name_servers", el que estés usando con eth0 o uno de Google por ejemplo:

static domain_name_servers=1.1.1.1 8.8.8.8
 
Sí accedes a la raspberry por wifi y sin embargo no sales a internet, tendrás que revisar dentro del paso 4, los parámetros:

interface wlan0

static ip_address=192.168.1.254/24

static routers=192.168.1.1

static domain_name_servers=1.1.1.1

Sobre todo que "static routers" sea la IP de tu router. O sino prueba a añadir otro DNS más en "static domain_name_servers", el que estés usando con eth0 o uno de Google por ejemplo:

static domain_name_servers=1.1.1.1 8.8.8.8


Puede que si hubiera un error, de todas formas lo he dejado para que conecte por cable solamente que es como va a estar.
 
Parece ser que el txindex no es necesario con lnd. Lo curioso es que con c-lightning nunca fue necesario y ahora acabo de leer un mensaje de roasbeef (principal desarrollador de lnd) donde dice que tampoco es necesario en lnd. No se si se refiere a la ultima version o si es que en realidad nunca fue necesario.

---------- Post added 18-jun-2018 at 22:42 ----------



---------- Post added 18-jun-2018 at 22:43 ----------

 
Con c-lightning que fue la primera que probé en mainnet, no era necesario.
Pero con LND, que la probé en el mismo nodo sin txindex, si lo era (al menos en febrero-marzo), recuerdo que no se confirmaba el saldo y hacia cosas raras; buscando en foros leí que se recomendaba activar txindex, cuando lo hice funciono todo ok. Ahora LND esta más depurada y según el enlace que mandas no parece ser necesario (lo cual me da una alegría porque me facilita el siguiente paso de este hilo ).

Aquí indica que es opcional, pero el nodo va más rápido si se hace (activar txindex es habilitar en el nodo un indice para actuar como explorador de bloques para LND):


Note that adding --txindex is optional, as it will take longer to sync the node, but then lnd will generally operate faster as it can hit the index directly, rather than scanning blocks or BIP 158 filters for relevant items.
 
Última edición:
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 liquidar 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

You must be registered for see images


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

You must be registered for see images


8- Cuando finalice la descarga, paramos el servicio:

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

You must be registered for see images


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:

Tienes que estar registrado para ver este contenido


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":
 

Adjuntos

Archivo oculto para usuarios no registrados
Ú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

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é. 😛ienso:


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:
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é. 😛ienso:


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:
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 😀.


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.

 
El resto del proceso ha ido sin incidentes 😀.


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.


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: )
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:



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

You must be registered for see images
 
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: )
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:



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

You must be registered for see images

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

He probado esta otra y si que me veo de manera estable . Por cierto, soy el unico en mi provincia, no pensaba que era tan friki.😀


Edit: no se que pasa pero el nodo va y viene, no está permanentemente visible.
 
Última edición:
Que quiere decir los que anuncian su presencia? Se puede tener un nodo oculto o algo asi?

Tengo entendido que en los parámetros del nodo lo puedes configurar para que se anuncie su presencia en la red o para que no lo haga. También se dice que los que no anuncian su presencia son mucho más numerosos que los que la anuncian, de forma que hay muchos más nodos de lo que pensamos.
 
Tengo entendido que en los parámetros del nodo lo puedes configurar para que se anuncie su presencia en la red o para que no lo haga. También se dice que los que no anuncian su presencia son mucho más numerosos que los que la anuncian, de forma que hay muchos más nodos de lo que pensamos.


Habláis de nodos de Bitcoin o de LN ?
 
Nodos de bitcoin.


Entonces a lo que llamais "ocultos" son nodos que estan detras de un router que no deja pasar las conexiones entrantes. Es decir, ese nodo puede abrir conexiones salientes hacia otros nodos (8 maximo por defecto) pero no puede recibir conexiones de otros nodos. Como las paginas esas en las que mirais los nodos que estan activos no pueden conectarse a esos nodos, no los contabiliza.

Hablo de memoria si digo que hay unos 10k nodos en el mundo que aceptan conexiones entrantes. Luke habia desarrollado un sistema para contar los nodos totales y creo recordar que eran sobre 100k
 

Estadísticas del foro

Temas
2.049.406
Mensajes
58.146.918
Miembros
190.830
Último miembro
Francisco Valero

El blog de burbuja.info

Volver