Der folgende Beitrag stammt von unserem Bekannten und Lightning-Enthusiasten @notgrubles und wurde ursprünglich in seinem Blog veröffentlicht.
Update: Ich habe sehr willkommenes Feedback von der Community erhalten, in dem ich gebeten wurde, diese wichtige Information im Blog-Beitrag deutlicher hervorzuheben:
Bitte beachten Sie vor Beginn, dass diese Software im experimentellen Zustand ist und Bugs enthalten könnte, die zu Geldverlusten führen können. Verwenden Sie nur kleine Bitcoin-Beträge, deren Verlust Sie sich leisten können.
Ein schnelles Text- und Video-Tutorial
Bitcoin ist ein dezentralisiertes Peer-to-Peer-Zahlungsnetzwerk, das weltweit für Trustless-Transaktionen genutzt wird. Das System ermöglicht Trustless-Transaktionen, indem es von den Minern fordert, Transaktionen in Blöcke zu integrieren, die kryptographisch miteinander verbunden sind. Dies bedeutet jedoch, dass die Bestätigung der Transaktionen Zeit erfordert, und diesen Luxus kann sich nicht jeder leisten. Die Antwort auf diese Unannehmlichkeit besteht in Zahlungskanälen, die Satoshi Nakamoto als Möglichkeit für „Transaktionen mit hoher Frequenz“ zwischen Partnern auf diesen Zahlungskanälen beschrieben hat. Dies steht im Gegensatz dazu, etwa 10 Minuten auf eine Bestätigung warten zu müssen. Lightning macht sich diese Idee zu eigen und setzt sie großflächig um. Statt nur Ihren Zahlungskanalpartner bezahlen zu können, sind Sie in der Lage, beliebige Teilnehmer im Lightning-Netzwerk, einem Netzwerk von Zahlungskanälen, sofort zu bezahlen.
Blockstream hat kürzlich eine E-Commerce Shopping-Seite namens Blockstream Store eröffnet, die sich auf das neu veröffentlichte Wordpress E-Commerce Plugin, das mit Lightning Charge entwickelt wurde, stützt. Das Interessanteste daran ist, dass man nur Dinge im Blockstream Store gegen eine Zahlung im Lightning-Netzwerk auf dem Bitcoin-Mainnet kaufen kann. Im Folgenden finden Sie ein Tutorial für die Einrichtung Ihres eigenen Lightning-Knotens zum Kauf von Artikeln oder Empfang von Lightning-Zahlungen über c-lightning, die Lightning-Implementierung von Blockstream.
Voraussetzungen
- Linux (für diese Anleitung wird Ubuntu 17.10 verwendet)
- Hinreichend Speicher für die Bitcoin Blockchain
- Grundlegende bis mittlere Kenntnisse über die Kommandozeile
- Einen komplett synchronisierten Bitcoin-Knoten mit SegWit
- Etwas Bitcoin-Guthaben
Schritt 0: Installation der Build Tools und Abhängigkeiten
Der erste Schritt besteht in der Installation der erforderlichen Tools über apt:
sudo apt-get install -y autoconf automake build-essential git libtool libgmp-dev libsqlite3-dev python python3 net-tools tmux
Schritt 1: Installation von bitcoind aus dem Bitcoin PPA
Entweder bitcoind von der Quelle abrufen, herunterladen und die Binaries durch bitcoin.org verifizieren (bevorzugte Methode) oder aus dem Bitcoin PPA installieren:
sudo apt-get install software-properties-common sudo add-apt-repository ppa:bitcoin/bitcoin sudo apt-get update sudo apt-get install -y bitcoind
Schritt 2: Clonen des lightningd Repository und Aufbau
Nun den c-lightning Code aufbauen:
mkdir builds && cd builds git clone https://github.com/ElementsProject/lightning.git cd lightning make
Zur Beschleunigung der Kompilierung make -jn verwenden. Dabei ist n die Anzahl der Threads, die für den Aufbau reserviert sind. Beispiel: make -j10 für einen Prozessor mit 10 oder mehr Threads (wie ein Xeon).
Schritt 3: Ausführen von bitcoind, lightningd und lightning-cli zur Bestätigung, ob die Installation korrekt ist
Erst bitcoind, dann lightningd, dann lightning-cli starten, um zu bestätigen, dass alles richtig installiert wurde:
Bei diesem Prozess tmux verwenden, damit alles ordentlich in einem Terminal bleibt:
tmux
Nun bitcoind starten und den Start vom Log aus beobachten, dann mit bitcoin-cli testen:
bitcoind tail -f ~/.bitcoin/debug.log bitcoin-cli getinfo
Auf ähnliche Weise lightningd starten und mit lightning-cli testen:
./lightningd/lightningd --network bitcoin --log-level debug ./cli/lightning-cli help
Schritt 4: Verbindung mit einem entfernten Lightning Peer aufnehmen
Nach dem erfolgreichen Build von lightningd und lightning-cli mit einem Peer verbinden und den Channel Graph synchronisieren. Der verwendete Peer ist von Blockstream:
/cli/lightning-cli connect 02f6725f9c1c40333b67faea92fd211c183050f28df32cac3f9d69685fe9665432 104.198.32.198 9735
Der Graph wird automatisch synchronisiert (Ausgabe des lightningd Logs) :
Schritt 5: Erstellen einer Adresse für die Mittelausstattung, um einen Zahlungskanal zu eröffnen
Zum Eröffnen eines Lightning Zahlungskanals ist eine mit Mitteln ausgestattete UTXO erforderlich. Erstellen Sie eine Bitcoin-Adresse mit lightning-cli, um einige Bitcoins an
./cli/lightning-cli newaddr
zu senden. Senden Sie einige Bitcoins an diese Adresse, aber beachten Sie bitte, dass es sich hierbei um eine experimentelle Software handelt.
Schritt 6: Bestätigung des Eingangs der BTC
Verwenden Sie lightning-cli zur Prüfung, ob unsere Adresse mit Mitteln ausgestattet wurde:
./cli/lightning-cli listfunds
Schritt 7: Eröffnung eines Kanals mit dem Peer, mit dem wir zuvor Verbindung aufgenommen haben
Zur Eröffnung eines Zahlungskanals den pubkey oder die ID des Knotens suchen (in diesem Fall den von Blockstream) und anschließend lightning-cli verwenden, um den Zahlungskanal zu öffnen:
Zum Drucken der Knoten-ID des Peers:
./cli/lightning-cli listpeers
Diese ID kopieren und den Zahlungskanal mit einem Betrag von Satoshis ausstatten:
./cli/lightning-cli fundchannel 02f6725f9c1c40333b67faea92fd211c183050f28df32cac3f9d69685fe9665432 amount_in_satoshis
Schritt 8: Prüfen der lightningd Logs auf Bestätigungen der Finanzierungstransaktionen
Wahlweise mit tmux zum lightningd-Fenster wechseln, um zu prüfen, ob die Finanzierungstransaktion bestätigt wird:
Schritt 9: Bestätigen, dass ein Zahlungskanal eröffnet wurde
Zum Eröffnen eines Zahlungskanals sind drei Bestätigungen erforderlich. Sobald die Transaktion dreimal bestätigt wurde, verwenden Sie lightning-cli, um unseren neuen Zahlungskanal aufzulisten.
./cli/lightning-cli listchannels | grep your_nodes_pubkey
Herzlichen Glückwunsch! Sie haben Ihren ersten Zahlungskanal im Lightning-Netzwerk eröffnet!
Jetzt können Sie anderen Rechnungen schicken, um sofortige Zahlungen zu erhalten, oder eine Rechnung bezahlen, die Ihnen jemand geschickt hat!
./cli/lightning-cli invoice amount_in_millisatoshis label description
oder
./cli/lightning-cli pay bolt11_string
Die Dokumentation für die Installation von c-lightning finden Sie hier und hier.
Vielen Dank für Ihr Interesse an diesem Beitrag!
– grubles