LND Installation auf Linux X86

Voraussetzungen

Um einen Lightning betreiben zu können brauchen wir Bitcoin Core oder einen anderen Bitcoin Node. In diesem HowTo gehe ich von einer Bitcoin Core Installation aus.

Vorbereitung

Für die Daten und die Konfiguration legen wir uns einen .lnd Ordner in unserem Benutzerverzeichnis an

mkdir ~/.lnd

Download

Die aktuellste LND Version bekommen wir im LN Github Repository unter Releases.

Wir wechseln in unser Downloadverzeichnis

cd ~/Downloads

Und laden die aktuellste LND-Version herunter

wget https://github.com/lightningnetwork/lnd/releases/download/v0.15.5-beta/lnd-linux-amd64-v0.15.5-beta.tar.gz

Danach laden wir uns das Service-File herunter, das auf dem LND Github Repository gefunden werden kann. (Go to File → lnd.service).

wget https://raw.githubusercontent.com/lightningnetwork/lnd/master/contrib/init/lnd.service

Installation

Zuerst entpacken wir den Download

tar -xzf lnd-linux-amd64-v0.15.5-beta.tar.gz

Und danach installieren wir alles

sudo install -m 0755 -o root -g root -t /usr/local/bin lnd-linux-amd64-v0.15.5-beta/*

Check ob alles geklappt hat

lnd --version

Ausgabe müsste so aussehen:

lnd version 0.15.4-beta commit=v0.15.5-beta

Konfiguration

Wir wechseln jetzt in unser .lnd Verzeichnis

cd ~/.lnd

Und legen uns eine lnd.conf Datei an.

nano lnd.conf

In diese Datei fügen wir foglendes ein:

# Find all parameters -> https://github.com/lightningnetwork/lnd/blob/master/sample-lnd.conf
[Application Options]
tlsextraip=0.0.0.0
tlsextradomain=0.0.0.0
listen=0.0.0.0:9735
rpclisten=localhost:10009
restlisten=0.0.0.0:8080
alias=My Lightning ☇
debuglevel=info
maxpendingchannels=5

# Password file to unlock the wallet during the startup
; wallet-unlock-password-file=/home/nakamoto/.lnd/password.txt
; wallet-unlock-allow-create=true

# Channel settings
bitcoin.basefee=1000
bitcoin.feerate=1
;minchansize=100000
accept-keysend=true
accept-amp=true
protocol.wumbo-channels=true
protocol.no-anchors=false
coop-close-target-confs=24

# Watchtower
wtclient.active=true

# Performance
gc-canceled-invoices-on-startup=true
gc-canceled-invoices-on-the-fly=true
ignore-historical-gossip-filters=1
stagger-initial-reconnect=true
routing.strictgraphpruning=true

# Database
[bolt]
db.bolt.auto-compact=true
db.bolt.auto-compact-min-age=168h

[Bitcoin]
bitcoin.active=1
bitcoin.mainnet=1
bitcoin.node=bitcoind

[Bitcoind]
bitcoind.rpcuser=nakamoto
bitcoind.rpcpass=satoshi
bitcoind.zmqpubrawblock=tcp://127.0.0.1:28332
bitcoind.zmqpubrawtx=tcp://127.0.0.1:28333

[tor]
; tor.active=true
; tor.v3=true
; tor.streamisolation=true

Damit sind wir fertig. Möchte man weitere Änderungen vornehmen, finden sich alle Informationen dazu in dieser Konfig-Datei.

Wir speichern unsere Änderungen mit STRG x y und Enter.

Jetzt starten wir LND

lnd

Wenn alles passt, startet LND. Wir sehen im Logfile “Waiting for wallet encryption password. Use “lncli create …”

Um eine Wallet zu erstellen, machen wir einen neuen Terminal auf. Vorsicht, der andere muss offen bleiben!

Im neuen Terminal geben wir ein:

lncli create

Wir werden nach einem Passwort gefragt. Hier setzen wir ein sehr starkes Passwort. Dieses ist dafür da, um die Wallet zu entsperren.

Als nächtest werden wir gefragt, ob wir eine existrierende Seed-Phrase oder einen Extended Master Root Key haben. Haben wir nicht, darum drücken wir auf „n“.

Jetzt kommt die Abfrage, ob wir auch eine Passphrase nutzen möchten. Wenn man keine setzen möchte, einfach Enter drücken.

Der wichtige Teil kommt jetzt. Wir müssen uns die Seed Phrase aufschreiben und sehr sehr gut aufbewahren! Nur mit diesen Wörtern ist es möglich, die Wallet wieder her zu stellen.

Im anderen Terminal sehen wir jetzt, wie das Logfile weitergeht. Es kommen Meldungen wie „DISC: GossipSyncher….“

Wir stoppen LND mit STRG + C

Weitere Konfiguration für das Wallet-Unlock-Password-File

Damit die Wallet beim Start des Nodes automatisch geöffnet wird, können wir das Passwort in eine Datei eintragen, die wir im .lnd Verzeichnis speichern.

nano password.txt

In die Datei tragen wir nur das Passwort ein und speichern alles ab mit STRG x y und Enter.

Rechte anpassen um für mehr Security zu sorgen.

chmod 600 password

Jetzt setzen wir dafür die Parameter in der lnd.conf

nano lnd.conf

Wir suchen nach dem Parameter wallet-unlock-password.

; wallet-unlock-password-file=/tmp/example.password

und ändern diesen Parameter in

wallet-unlock-password-file=/home/nakatomo/.lnd/password.txt

Und wir möchten, dass die Wallet entsperrt wird bei starten.

; wallet-unlock-allow-create=true

ändern in

wallet-unlock-allow-create=true

Mit STRG x y und Enter speichern wir alles ab.

Service File anpassen

Wir wechlen in unser Download-Verzeichnis und passen das Service-Files an.

nano lnd.service

Wir müssen den User und die Gruppe anpassen

User=bitcoin
Group=bitcoin

ändern in

User=nakamoto
Group=nakamoto

Das war es schon. Mit STRG x y und Enter speichern.

Jetzt müssen wir diese Datei umkopieren und aktivieren.

sudo cp lnd.service /etc/systemd/system

Aktiveren

Jetzt starten LND mit

sudo systemctl start lnd.service

Logfile können wir wie folgt ansehen:

journalctl -fu lnd.service

Tor einrichten

Wenn wir unseren LND Node über Tor laufen lassen möchten, müssen wir dafür alles in der lnd.conf einstellen. Zuerst stoppen wir unseren LND Node.

sudo systemctl stop lnd.service

Jetzt geht es an die Konfig.

nano lnd.conf

Und unter [tor] finden wir die notwendigen Parameter.

Tor aktivieren

; tor.activate=true

ändern in

tor.activate=active

Wir setzen Streamisolation aktivieren

; tor.streamisolation=true

ändern in

tor.streamisolation=active

Und wir möchten Tor V3 nutzen

; tor.v3=true

ändern in

tor.v3=true

Mit STRG x y und Enter alles abspeichern und LND starten.

sudo systemctl start lnd.service

Check ob alles passt:

journalctl -fu lnd.service

Fertig

Unser LND Node läuft jetzt über Tor.

Update

Zuerst müssen wir unseren LND Node stoppen.

sudo systemctl stop lnd.service

Jetzt laden wir die aktuelle Version von LND in unseren Download-Ordner herunter.

wget https://github.com/lightningnetwork/lnd/releases/download/v0.15.5-beta/lnd-linux-amd64-aktuelle-Version.tar.gz

Entpacken

tar -xzf lnd-linux-amd64-aktuelle-Version.tar.gz

Installieren

sudo install -m 0755 -o root -g root -t /usr/local/bin lnd-linux-amd64-aktuelle-Version/*

Check ob die Version passt

lnd --version

Wenn die Version passt starten wir.

Check ob alles passt

sudo systemctl start lnd.service

Logfile

journalctl -fu lnd.service

Update fertig.