Montando un nodo de Lightning Network

bmbnct

Madmaxista
Desde
5 May 2010
Mensajes
2.256
Reputación
4.873
Lugar
Bajo techo
Vengo a recomendar zigzag, un exchange basado en LN, en el que sin registro, con unas comisiones ridiculas y en 10 segundos, es posible mover Bitcoins de un canal a una direccion Bitcoin onchain sin tener que cerrar el canal. Esto viene muy bien ademas para equilibrar el saldo del canal para así poder recibir pagos por el mismo.
El exchange: ZigZag

- Se introduce la cantidad de Bitcoins que quieres mover fuera del canal.

- En "BTC refund address or invoice" indicas un invoice por la cantidad a mover para que en caso de fallo se devuelvan ahí los fondos.

- En "BTC destination address" la dirección Bitcoin donde mover los Bitcoins.



Y listo, en poco más de 10 segundos los fondos pasan a través del exchange, y los ingresa a la dirección Bitcoin indicada.
 

bmbnct

Madmaxista
Desde
5 May 2010
Mensajes
2.256
Reputación
4.873
Lugar
Bajo techo
Por si le sirve a alguien, he dado con el origen del problema que tenia en mi nodo LND (ultimo commit) y me estaba volviendo loco.

- El problema era que aun teniendo saldo en la cartera (unos 700000 sat), abría un canal con esa cantidad, pero la TX no se propagaba fuera de la mempool de mi nodo y el canal se mostraba "pending" durante días hasta que lo cancelaba.

- El origen del problema era que el saldo que mostraba la cartera, no se correspondía con la realidad. El error que da LND es claro: "[ERR] FNDG: Unable to complete reservation sign complete: Transaction rejected: output already spent" Es decir, no tengo saldo para gastar aunque la cartera diga lo contrario.

- Para solucionarlo, simplemente se fuerza a LND a reescanear toda la BBDD. La pega es que no dispone de una función para ello y se tiene que hacer con una herramienta externa, parando lnd, lanzando la herramienta sobre la BBDD y al rearrancar lnd reescanea la cadenas de bloques y aparecen correctamente los outputs (en mi caso 18500 sat, cuando me mostraba 700000).

La herramienta es la siguiente:
btcwallet/force_rescans.md at master · btcsuite/btcwallet · GitHub
 

bmbnct

Madmaxista
Desde
5 May 2010
Mensajes
2.256
Reputación
4.873
Lugar
Bajo techo
Vengo a recomendar zigzag, un exchange basado en LN, en el que sin registro, con unas comisiones ridiculas y en 10 segundos, es posible mover Bitcoins de un canal a una direccion Bitcoin onchain sin tener que cerrar el canal. Esto viene muy bien ademas para equilibrar el saldo del canal para así poder recibir pagos por el mismo.
El exchange: ZigZag

- Se introduce la cantidad de Bitcoins que quieres mover fuera del canal.

- En "BTC refund address or invoice" indicas un invoice por la cantidad a mover para que en caso de fallo se devuelvan ahí los fondos.

- En "BTC destination address" la dirección Bitcoin donde mover los Bitcoins.



Y listo, en poco más de 10 segundos los fondos pasan a través del exchange, y los ingresa a la dirección Bitcoin indicada.
Otra página que hace lo mismo (mandas bitcoin offchain y los recibes onchain) y únicamente por 3000 sat:

LN Zone
 

ninfireblade

Madmaxista
Desde
18 Jul 2008
Mensajes
3.319
Reputación
4.786
Otra página que hace lo mismo (mandas bitcoin offchain y los recibes onchain) y únicamente por 3000 sat:

LN Zone

Como prueba de concepto digamos que es curioso pero muy caro. Hoy en día haces una transacción onchain por unos 200 sat o incluso menos si solo necesitas usar un utxo.

Y tampoco creo que sea muy seguro, una vez hecho el pago a traves de LN dependes de la buena voluntad de los creadores de la pagina para que creen la transaccion onchain.

Ahora todavia no es posible que yo sepa, pero esto es algo que se puede incluir en el protocolo LN y no tener que depender de la buena voluntad de terceros.
 

bmbnct

Madmaxista
Desde
5 May 2010
Mensajes
2.256
Reputación
4.873
Lugar
Bajo techo
Como prueba de concepto digamos que es curioso pero muy caro. Hoy en día haces una transacción onchain por unos 200 sat o incluso menos si solo necesitas usar un utxo.

Y tampoco creo que sea muy seguro, una vez hecho el pago a traves de LN dependes de la buena voluntad de los creadores de la pagina para que creen la transaccion onchain.

Ahora todavia no es posible que yo sepa, pero esto es algo que se puede incluir en el protocolo LN y no tener que depender de la buena voluntad de terceros.
Sí, así es, aun no se permiten esos intercambios en LN y por lo tanto no hay alternativas para mover onchain fondos del canal sin tener cerrarlo. Me parece muy util tambien para equilibrar los canales, sin tener que gastar parte de ellos, para así poder recibir pagos.
Por otro lado, mientras tanto, no me parece nada caro pagar 3000 sat por ese servicio.
 

ninfireblade

Madmaxista
Desde
18 Jul 2008
Mensajes
3.319
Reputación
4.786
Sí, así es, aun no se permiten esos intercambios en LN y por lo tanto no hay alternativas para mover onchain fondos del canal sin tener cerrarlo. Me parece muy util tambien para equilibrar los canales, sin tener que gastar parte de ellos, para así poder recibir pagos.
Por otro lado, mientras tanto, no me parece nada caro pagar 3000 sat por ese servicio.

El tema es que ahora mismo cierras el canal, haces la transacción onchain, vuelves a abrir el canal y en conjunto esas 3 tx pagan menos de 3000 satos.
 

bmbnct

Madmaxista
Desde
5 May 2010
Mensajes
2.256
Reputación
4.873
Lugar
Bajo techo
El tema es que ahora mismo cierras el canal, haces la transacción onchain, vuelves a abrir el canal y en conjunto esas 3 tx pagan menos de 3000 satos.
Sí, pero vuelves a tener todo el saldo en tu lado y sigues sin poder recibir pagos. En cambio si tienes un canal con 800k satoshis y sacas onchain 400k, sigues teniendo un canal de 800k con 400k en cada lado.
 

ninfireblade

Madmaxista
Desde
18 Jul 2008
Mensajes
3.319
Reputación
4.786
He actualizado ZAP, purgando todo archivo de la vieja version.

He seguido indicaciones y he abierto el puerto con el cortafuegos

ufw allow 10009 comment 'allow ZAP'

Sin embargo no tengo forma de conectar al nodo: Unable to connect to host: Failed to connect before the deadline

He revisado varios sitios, la configuración es fácil, no sé que podría ser.

Se os ocurre algo?

Primero mira que el puerto este realmente abierto con netstat -lntp

Si esta abierto mira que te puedas conectar desde el otro ordenador, con telnet por ejemplo o nmap, etc. Si no puedes entonces ya sabes que es por el firewall.
 

bmbnct

Madmaxista
Desde
5 May 2010
Mensajes
2.256
Reputación
4.873
Lugar
Bajo techo
He actualizado ZAP, purgando todo archivo de la vieja version.

He seguido indicaciones y he abierto el puerto con el cortafuegos

ufw allow 10009 comment 'allow ZAP'

Sin embargo no tengo forma de conectar al nodo: Unable to connect to host: Failed to connect before the deadline

He revisado varios sitios, la configuración es fácil, no sé que podría ser.

Se os ocurre algo?
- ¿Tienes abierto el puerto 10009 en el nodo? Prueba con "sudo netstat -nap | grep 10009"

- Has copiado los archivos de las ubicaciones correctas? (admin.macaroon esta donde esta el archivo wallet.db)

- Has editado el archivo lnd.conf añadiendo "rpclisten=0.0.0.0:10009"

- lnd esta totalmente sincronizado y el servicio levantado antes de arrancar Zap?

Eso es lo que se me ocurre que revises. Pero si nos aportas algún dato más como donde tienes Zap (sin en la misma maquina que el nodo o en otra), sistema operativo... igual alguno que por aquí te lea te puede ayudar.