Skip to content

Instantly share code, notes, and snippets.

@grunch
Created November 12, 2022 17:11
Show Gist options
  • Save grunch/c4802bb0f7214a159b5f6f23208fd84d to your computer and use it in GitHub Desktop.
Save grunch/c4802bb0f7214a159b5f6f23208fd84d to your computer and use it in GitHub Desktop.
Workshop nodo lightning

Guía de instalación de un nodo ligero de Lightning Network utilizando LND neutrino.

NOTA: El símbolo $ se utiliza como prompt y le permite al usuario entrar ordernes al computador, los comandos serán interpretados por bash en Linux, el símbolo # al principio de una línea indica que el texto a continuación es un comentario

Sistema operativo

Se recomienda utilizar Linux, si estas en windows 10 puedes tener una consola linux siguiendo estos pocos pasos.

Descargamos LND

Vamos al repositorio de lnd y descargamos la última versión para la arquitectura de nuestro computador

Luego debemos verificar la release, para ello seguimos los pasos de la sección Verifying the Release:

Configurando el nodo

Creamos el archivo de configuración de lnd.

$ cd
$ mkdir .lnd
$ nano .lnd/lnd.conf

---- INICIO -----
[Application Options]
# permite pagos espontáneos
accept-keysend=1

# Nombre público del nodo
alias=TU_ALIAS
# Color público en hexadecimal
color=#000000
debuglevel=info
maxpendingchannels=5
listen=localhost
# gRPC socket
rpclisten=0.0.0.0:10009

[Bitcoin]
bitcoin.active=1
bitcoin.testnet=1
bitcoin.node=neutrino
# 50ppm (parts per million) 
bitcoin.feerate=50
# 1000 milisats = 1 sat
bitcoin.basefee=1000

[neutrino]
neutrino.addpeer=btcd-testnet.lightning.computer
neutrino.addpeer=lnd.bitrefill.com:18333
neutrino.addpeer=faucet.lightning.community
neutrino.addpeer=testnet1-btcd.zaphq.io
neutrino.addpeer=testnet2-btcd.zaphq.io
neutrino.addpeer=testnet3-btcd.zaphq.io
neutrino.addpeer=testnet4-btcd.zaphq.io
neutrino.feeurl=https://nodes.lightning.computer/fees/v1/btctestnet-fee-estimates.json

[bolt]
db.bolt.nofreelistsync=1
db.bolt.auto-compact=true
db.bolt.auto-compact-min-age=24h

Ahora iniciamos lnd

$ lnd

Esperamos que el nodo sincronice, luego desde otra terminal creamos nuestra wallet

$ lncli -n testnet create

Agregar fondos a nuestro nodo

$ lncli newaddress p2wkh

Enviar btc a la dirección que nos devuelve lnd, podemos usar este faucet https://coinfaucet.eu/en/btc-testnet/

Para consultar el balance

$ lncli walletbalance
{
    "total_balance": "500000",
    "confirmed_balance": "0",
    "unconfirmed_balance": "500000"
}

Luego de que haya sido confirmada la tx podemos abrir algun canal

Abrimos una conexión a un nodo:

$ lncli connect 02cb707bb43ac82a19fe8e3b1da8da54cebe9f19aaae4c9343719eb76ba844b45e@5snibz6umjaqy4qaxlesvxykr7xyiaoougbn5vl3c3rn6gusnz4xppid.onion:9735

Luego abrimos un canal

$ lncli openchannel 02cb707bb43ac82a19fe8e3b1da8da54cebe9f19aaae4c9343719eb76ba844b45e 300000 0

Chequeamos nuestros fondos

$ lncli walletbalance $ lncli channelbalance

Podemos ver los canales pendientes y los activos

$ lncli pendingchannels $ lncli listchannels

Para pagar una invoice lightning

$ lncli payinvoice lnbc1p0kkhgwpp5sn9y6xe9hx7swrjj4057..............674vh73nwk6rxg8j8zedztkn3vdzgjafacqmud86h

Para recibir un pago creo una invoice por un monto específico

$ lncli addinvoice --memo 'mi primera factura LN' --amt 100

Para ver información sobre mi nodo

$ lncli getinfo

La lista completa de comandos la podemos ver solo ejecutando lncli

$ lncli

Finalmente para hacer llamadas a la api de lnd

$ MACAROON_HEADER="Grpc-Metadata-macaroon: $(xxd -ps -u -c 1000 .lnd/data/chain/bitcoin/testnet/admin.macaroon)" $ curl -X GET --cacert .lnd/tls.cert --header "$MACAROON_HEADER" https://localhost:8080/v1/getinfo |jq

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment