Umbrel lightning node
Umbrel is één van de makkelijkste manieren om een Lightning node te beginnen!
Installeren
De podcast Satoshi Radio heeft goeie instructies hoe Umbrel op te zetten. Umbrel is een Bitcoin node en Lightning node in één.
De stappen zijn grofweg:
- Koop #Hardware, verbind je USB-power, schijf (SSD of HDD), monteer de koeling
- Zet Umbrel op je SD-kaart, dit noemen we "flashen" en wordt in de podcast nodezaak precies uitgelegd.
- Start de node! Geen kennis van linux nodig.
Apps
Umbrel heeft een ingebouwde appstore die het makkelijk maakt om extra functionaliteiten uit je node te halen.
Naam | Beschrijving |
---|---|
Mempool.space | Een lokale blokexplorer die de data gebruikt van je node |
BTC RPC Explorer | Een lokale blokexplorer die de data gebruikt van je node |
Samourai Server | Een eigen server voor de Samourai Wallet |
Specter Desktop | Een wallet die het makkelijkt maakt om bijvoorbeeld een multisig setup te maken |
Sphinx Relay | Een applicatie die het mogelijk maakt om te chatten via het lightning netwerk en streaming payments implemeteert voor podcasts. |
Ride the Lightning | Een grafische interface om je lightning node te beheren. |
Lightning Terminal | Een grafische interface om je lightning node te beheren. Ook is het mogelijk om inkomende liquiditeit te kopen en uitgaande liquiditeit verkopen doormiddel van Lightning pool. |
ThunderHub | Een grafische interface om je lightning node te beheren. |
LNbits | Een open-source lightning wallet die het mogelijk maakt om meerdere lightningwallets te gebruiken op één node. |
BTCPay Server | Een paymentprocesor die het mogelijk maakt om Bitcoin en Lightning te accepteren zonder tussenkomst van een 3e partij. |
Acties
Er zijn verschillende acties die je kan doen met je Umbrel node. Hieronder staan er een aantal uitgelegd.
Je node key vinden (Node Key / Lightning Address / URI)
De termen Node Key, Node Pubkey, Lightning Address, Node ID en URI worden door elkaar heen gebruikt. Een node key ziet eruit als 03e691f81f08c56fa876cc4ef5c9e8b727bd682cf35605be25d48607a802526053 @ ug6wkjdnp5fq2iiyakjn7uewn2eyghpqyapzkgvh7hbsq6acmxtt6lqd.onion:9735. Het deel voor de @ is de node key. Het deel na de @ is de verbindingsinformatie.
In het Lightningscherm van Umbrel moet je op de 3 puntjes klikken (zie ook het plaatje) om je Lightning Address te vinden.
Kanaal openen
Uitgaande van een eigen Umbrel node als hierboven beschreven, onderstaand de mogelijke stappen om een kanaal te openen met een andere node. Om een kanaal te openen dient er een on-chain Bitcoin transactie plaats te vinden. (En voor het sluiten ook weer). Voor de gewone individu is het daarom aan te raden met slechts 1 andere node een kanaal te openen, en dan nog wel met een 'grote' node, dat wil zeggen een node met veel liquiditeit en veel uitgaande connecties. Dat laatste is belangrijk om een gewenste lightning transactie zo'n groot mogelijke slagingskans te geven.
De volgende stappen zijn gebaseerd op de video-serie 'Nodezaak' te zien op YouTube, vanaf minuut 4.
- Zorg dat er voldoende saldo op de Bitcoin Core node staat, bijvoorbeeld €250,-.
- Liever één groot kanaal dan meerdere kleine, bijvoorbeeld €100,- of €200,-.
- Ga in browser naar 1ml.com.
- Zoek node Lightning.Watch (https://1ml.com/node/03e691f81f08c56fa876cc4ef5c9e8b727bd682cf35605be25d48607a802526053).
- Kopieer Public Key inclusief @-deel (2e regel: 03e691f81f08c56fa876cc4ef5c9e8b727bd682cf35605be25d48607a802526053@188.166.81.82:9735).
Ga naar Umbrel scherm
- Kies Lightning uit het menu links.
- Kies recht "+OPEN CHANNEL".
- Plak in Lightning Address.
- Geef de gewenste waarde in Satoshis in, bijvoorbeeld ter waarde van €100,-.
- Stel de transaction fee in: stel in op lage waarde, bijv $2 en heb geduld (of stel hoger in voor snellere satisfactie)
- Klik groene knop OPEN CHANNEL.
Wacht nu geduldig tot Active Channels op 1 springt en Max Send op het bedrag dat je geladen had; Het lijkt meteen of je kanaal 'geladen' is, maar afhankelijk van je fee zal je moeten wachten.
Er is nu een kanaal tussen je Umbrel LN en de Lightning.watch LN. De capaciteit zit vast in het kanaal en is in mindering gebracht op je btc-saldo bij Bitcoin Core;
Inloggen via SSH
Een hoop commando's dienen via SSH te gebeuren. Dit is een manier om je node te beheren via een tekst-interface.
Vanaf een Windows 10-computer
Open PowerShell (WIN-R, powershell, enter) en typ onderstaand commando. Als het niet werkt, download dan PuTTY.
ssh -t umbrel@umbrel.local
Voer het wachtwoord in (zelfde als inlogwachtwoord van de webpagina), je zal niet zien dat je het wachtwoord aan het invoeren bent.
Vanaf een Mac of Linux-computer
Open je Terminal en typ onderstaand commando:
ssh -t umbrel@umbrel.local
Voer het wachtwoord in (zelfde als inlogwachtwoord van de webpagina), je zal niet zien dat je het wachtwoord aan het invoeren bent.
Alias (naam) en kleur instellen
Wil je een alias instellen voor je node? Besef eerst dat de informatie publiek wordt!
Let op: op dit moment wordt bij elke update de LND configuratie teruggezet naar de standaardinstellingen en zal je je alias opnieuw moeten invoeren.
- Log in op je node via SSH
- Open het config bestand: 'sudo nano umbrel/lnd/lnd.conf (dat is LND klein geschreven, niet iND). Hij zal je weer om je wachtwoord vragen (hetzelfde als eerder), en je zult weer niet zien dat je het wachtwoord invoert.
- U bent nu in de editor. Voeg alias=SOMENAME toe. Dit moet worden toegevoegd aan de eerste paragraaf. Ergens onder het blok [Application Options], niet in een ander blok.
- (Optioneel) zet color=#ff0000 of een andere hex kleur, op een nieuwe regel, net onder alias. vind een mooie kleur.
- Onderaan zie je de commando's die je kunt geven. Het dakje ^' betekent CTRL toets. ^X is eXit, dus gebruik CTRL-X om het bestand te verlaten. Bevestig dat je de buffer wilt opslaan met Y. Druk enter voor de bestandsnaam (niet veranderen).
- Nadat je de editor hebt verlaten, type 'cat umbrel/lnd/lnd.conf om naar de inhoud van het bestand te kijken.
- Start vervolgens de Umbrel node opnieuw op. Je kunt dit goed doen vanuit de Umbrel webinterface (Instellingen, Herstart)
- Als je publieke kanalen hebt, duurt het (max) 2 dagen voordat de nieuwe node zichtbaar is op 1ml.com.
- Als je RTL geïnstalleerd hebt, zou je de nieuwe node naam direct moeten zien na een herstart van RTL, of na opnieuw in te loggen. Een schone herstart van een node (via de webinterface) zou RTL ook opnieuw moeten starten.
Als je terminal bevriest, heb je misschien CTRL-S ingedrukt. Maak het bevriezen ongedaan met CTRL-Q.
Bekijken hoe veel routes je node kent
Log in via SSH en doe daarna
docker exec -i lnd lncli describegraph | grep channel_id | wc -l
Je krijgt het aantal kanalen terug, dit moeten er zeker meer dan 35 000 zijn. Zo niet, dan moet je nog even wachten totdat je node via het roddelcircuit de kanalen doorkrijgt. Het is hiervoor nodig dat je minstens 1 actief kanaal hebt en het kan tot 2 dagen duren. Hoe meer kanalen, hoe sneller het gaat.
Eerder gedownloade blockchaindata gebruiken
Mocht je overstappen van andere nodesoftware of heb je de bitcoin blockchain al eerder gedownload, dan kan je deze overzetten op je nieuwe installatie. Dit scheelt je de blockhaindata opnieuw downloaden. Bron: Umbrel GitHub [1]
- Zorg dat je de installatie hebt voltooid en Umbrel al een keer hebt opgestart met de externe schijf aangesloten.
- Sluit Umbrel af via de Settings pagina, haal de stekker uit het stopcontact en verwijder de externe schijf.
Omdat de externe schrijf nu als EXT4 geformatteerd is, kan deze niet in Windows / macOS gelezen worden. Als je geen linux hebt, kan je ook een Virtual Machine (VM) gebruiken of een live CD/USB. De live optie heeft bijna elke desktop installatie , zoals "Raspberry Pi Desktop for PC and Mac" [2]. Maak een VM aan in VirtualBox of zet hem op een USB stick.
- Kopieer de mappen "blocks" en "chainstate" van de eerdere installatie en plaats/vervang ze in /umbrel/bitcoin/ op je externe schijf.
- Ontkoppel de externe schijf, verbind hem weer met je nieuwe Umbrel node en start deze weer op.
- De blockchaindata wordt gecontroleerd voordat hij gebruikt kan worden, dus het kan even duren voordat je het inlogscherm te zien krijgt.
Ruimtegebrek op een custom install
Mocht je Umbrel niet op een Raspberry Pi hebben geïnstalleerd en je komt er later achter dat ruimte tekort komt, dan is het verplaatsen van de blockchaindata naar een andere locatie en optie (bijvoorbeeld een externe schijf). Zo hoef je niet opnieuw te beginnen met downloaden.
Stop Umbrel
cd /INSTALLATIEMAP/UMBREL
bijvoorbeeld cd /home/gebruiker/umbrel
sudo ./scripts/stop
Kopieer de mappen "blocks" en "chainstate" naar een nieuwe locatie.
cp -r /ORIGINEEL/umbrel/bitcoin/blocks /NIEUW/umbrel/blocks
cp -r /ORIGINEEL/umbrel/bitcoin/chainstate /NIEUW/umbrel/chainstate
Bijvoorbeeld
cp -r /home/gebruiker/umbrel/bitcoin/blocks /mnt/harddisk/umbrel/blocks
Controleer of er geen verschil is tussen de nieuwe en oude mappen. Bij geen antwoord is er geen verschil.
diff -qr /ORIGINEEL/umbrel/bitcoin/blocks /NIEUW/umbrel/blocks
diff -qr /ORIGINEEL/umbrel/bitcoin/chainstate /NIEUW/umbrel/chainstate
Verwijder de originele mappen als je hebt bevestigd dat de nieuwe map niet verschillend is.
rm -r /ORIGINEEL/umbrel/bitcoin/blocks
rm -r /ORIGINEEL/umbrel/bitcoin/chainstate
Verwijs naar de nieuwe plek op de originele locatie met een symbolische of softlink
ln -s /NIEUW/umbrel/blocks /ORIGINEEL/umbrel/bitcoin/blocks
ln -s /NIEUW/umbrel/chainstate /ORIGINEEL/umbrel/bitcoin/chainstate
Controleer of de symbolische link goed gelukt is. Het komt er in een andere kleur te staan, met het symbool ->
ls -la /ORIGINEEL/umbrel/bitcoin
Reboot en enjoy the free disk space!
sudo reboot
Een handmatige update doen
Als je Umbrel blijft hangen, dan kan je een handmatige update doen.
Log in via SSH (zie hierboven) en doe:
cd ~/umbrel && sudo scripts/update/update --repo getumbrel/umbrel
Umbrel zal nu updaten naar de laatste versie.
Bitcoin-cli commando's draaien
Verbind via SSH (ssh umbrel@umbrel.local) met je Umbrel node. Je kunt je bitcoin-cli commando's uitvoeren met docker exec -i bitcoin bitcoin-cli
LND-cli commando's draaien
Verbind via SSH (ssh umbrel@umbrel.local) met je Umbrel node. Je kunt je bitcoin-cli commando's uitvoeren met ~/umbrel/bin/lncli
Bijvoorbeeld de status van je node
docker exec -i lnd lncli getinfo
Een bericht tekenen
Dit kan via de RTL-app, of op de commandline (via SSH):
Log in via SSH (zie boven) en doe:
~/umbrel/bin/lncli signmessage HETBERICHT
Je krijgt dan je signature terug, hij staat tussen aanhalingstekens. De aanhalingstekens horen niet bij de signature/handtekening.
Een geïnstalleerde app via de commandline gebruiken
Je kan de verschillende apps ook via de commandline aanroepen. Bijvoorbeeld om extra features te gebruiken die (nog) niet in de GUI zitten. Het werkt iets anders dan normaal, omdat ze geïnstalleerd zijn in docker containers.
Lijst met geïnstalleerde apps / docker containers
~/umbrel/scripts/app ls-installed
Voer op de volgende manier commando's uit
~/umbrel/scripts/app compose APPNAAM exec COMMANDO
Omdat de apps in losse docker containers zitten die je aanroept met het app script, zijn de bestandspaden relatief tot de map van de app in /umbrel/app-data/APPNAAM. Dit geldt ook voor default settings, deze werken vaak niet doordat de apps in docker containers zitten. Houd hier dus rekening mee als je een app via de commandline aanroept.
Let op: sommige apps hebben de toevoeging web nodig na exec.
Een voorbeeld is het recoveren van een pool account van lightning-terminal, mocht je per ongeluk de app hebben verwijderd met nog bitcoin op het account:
~/umbrel/scripts/app compose lightning-terminal exec web pool --rpcserver localhost:8443 --tlscertpath=~/.lit/tls.cert accounts recover
Een minimale kanaalgroote instellen (minchansize)
Pas je lnd.conf aan, zet onder Application Options de instelling minchansize=100000 zodat peers minimaal een kanaal van 100k sat moeten openen. Zie het kopje over het instellen van een alias voor informatie hoe je het configuratiebestand aanpast.