Bitcoin Forum
September 21, 2019, 10:05:31 AM *
News: Latest Bitcoin Core release: 0.18.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 [4]  All
  Print  
Author Topic: Lightning Netzwerk - Eclair: Aufsetzen eines LN-Knoten im Testnetz  (Read 1173 times)
erwinbit
Member
**
Offline Offline

Activity: 133
Merit: 19


View Profile
February 09, 2018, 12:00:15 PM
Merited by trantute2 (1), blue-check (1)
 #61

Hallo,

ich probiere mich gerade im Lightning Netzwerk aus und will das hier dokumentieren. Auch, weil es zum LN nichts online gibt was selbst für erfahrene Computernutzer ohne Weiteres zu bewältigen wäre. Wenn schon die Installation von Eclair kaum hinzubekommen ist, dann ist vollkommen klar, dass das LN nicht aus den Puschen kommt. Deshalb diese Anleitung um die Einstiegshürden zu überwinden. Diesen Text werde ich nach und nach erweitern. Mein Ausganspunkt ist hierbei dieser Beitrag:

https://medium.com/@ajs1287/setting-up-bitcoin-lightning-network-node-on-macos-is-peanuts-eclair-5afbef553d71

D.h., wenn ich mit meiner Anleitung noch nicht fertig bin und ihr weiterspielen wollt, dann halten euch an obigen Beitrag.



Sonstige Referenzen

Lightning Network Megathread:

https://www.reddit.com/r/Bitcoin/comments/7pwna9/lightning_network_megathread/

Frage zu Eclair lassen sich mit Github-Account am besten hier beantworten:

https://gitter.im/ACINQ/eclair



Voraussetzungen

  • Ein Rechner mit genug Leistung und 64bit, läuft natürlich analog auch für ein 32bit System, sind dann aber andere Dateien
  • Ubuntu 16.04 LTS (http://de.releases.ubuntu.com/16.04.3/), geht aber bestimmt auch mit einer anderen Version
  • Der Rechner sollte eigenständig, Betriebssystem frisch installiert und getrennt von wichtigen Daten sein
  • Erfahrung mit Linux, Netzwerk etc. pp.
  • Eine zügige Netzwerkverbindung
  • Etwa 2h Zeit da mindestens 2 Bitcoin Transaktionen durchgeführt werden
  • Der Nutzer hier ist "curiosity81", der muss entsprechend angepasst werden
  • Platzhalter sind z.B. "<Passwort>" und müssen entsprechend ersetzt werden



Zu Beginn gehen wir in den Download-Ordner (den gibt es bei Ubuntu standardmäßig):

Code:
cd /home/curiosity81/Downloads



Bitcoin Core (vor Synchronisierung)

Und laden Bitcoin Core (https://bitcoin.org/en/download) herunter:

Code:
wget https://bitcoin.org/bin/bitcoin-core-0.15.1/bitcoin-0.15.1-x86_64-linux-gnu.tar.gz

Zusätzlich besorgen wir uns die Signatur von van der Laan:

Code:
wget https://bitcoin.org/laanwj-releases.asc

Wir importieren den Schlüssel:

Code:
gpg --import laanwj-releases.asc

Zu guter Letzt besorgen wir uns die Hashsummen der Dateien:

Code:
wget https://bitcoin.org/bin/bitcoin-core-0.15.1/SHA256SUMS.asc

Nun verifizieren wir Bitcoin Core bevor wir es entpacken:

Code:
gpg --verify SHA256SUMS.asc
sha256sum bitcoin-0.15.1-x86_64-linux-gnu.tar.gz | grep -o 387c2e12c67250892b0814f26a5a38f837ca8ab68c86af517f975a2a2710225b

Die lange Hex-Zahl stammt aus SHA256SUM.asc und entspricht der Hashsumme der runtergeladenen Datei. Wenn grep ein Ergebnis ausgibt, dann ist alles ok. Gibt bestimmt elegantere Lösungen das zu prüfen als meine.

Jetzt entpacken wir Bitcoin Core:

Code:
tar -xzvf bitcoin-0.15.1-x86_64-linux-gnu.tar.gz

Und passen die Bitcoin Konfigurationsdatei an:

Code:
mkdir /home/curiosity81/.bitcoin
nano /home/curiosity81/.bitcoin/bitcoin.conf

Wir füllen die Datei folgendermaßen:

Code:
testnet=1
server=1
rpcuser=<user>
rpcpassword=<password>
txindex=1
zmqpubrawblock=tcp://127.0.0.1:29000
zmqpubrawtx=tcp://127.0.0.1:29000

Die Platzhalter <user> und <password> müssen mit einem entsprechenden Werten ersetzt werden. Wir speichern und verlassen nano mit Strg+X.

Nun können wir Bitcoin Core starten:

Code:
/home/curiosity81/Downloads/bitcoin-0.15.1/bin/bitcoin-qt

Bitcoin Core wird sich nun mit dem Testnetz synchronisieren. Das dauert ein Weilchen, aber nicht solange wie im Hauptnetz. Bei mir waren das ca. 1.5h.



JRE 1.8

Nun müssen wir das Java Runtime Environment von Oracle installieren, damit Eclair auch läuft. Wir gehen also den Weg des geringsten Widerstands. Fragt mich aber nicht zu den Lizenzen und was sich Eclair dabei gedacht hat Oracle zu nutzen. Dies hier ist nur eine Anleitung. Jeder installiert also auf eigene Entscheidung hin dieses Oracle-Produkt.

Wir gehen zu Beginn per Browser (Firefox) auf http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html. Dort wählen wir

jre-8u162-linux-x64.tar.gz

aus, bestätigen das License Agreement und beginnen den Download. Die Datei landet in unserem Download-Ordner. Da Bitcoin Core wahrscheinlich noch synchronisiert so öffenen wir ein neues Terminal und gehen wieder in den Download-Ordner:

Code:
cd /home/curiosity81/Downloads

Dann verifizieren wir die Hashsumme der runtergeladenen Datei. Dazu klicken wir oben auf der Oracle Seite (http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html) bei

JRE 8u162 Checksum

auf "Checksum" und merken uns den sha256-Wert für die entsprechende Datei:

dfa25ebd1f90bf74ad7ba2dacb0e08d884594e733c9a522b58256778031341a4

Jetzt testen wir den Hash:

Code:
sha256sum jre-8u162-linux-x64.tar.gz | grep -o dfa25ebd1f90bf74ad7ba2dacb0e08d884594e733c9a522b58256778031341a4

Wenn alles ok ist so entpacken wir die Datei:

Code:
tar -xzfv jre-8u162-linux-x64.tar.gz

Und installieren java (https://wiki.ubuntuusers.de/Java/Installation/Oracle_Java/Java_8/):

Code:
sudo mkdir /opt/Oracle_Java
sudo cp jre1.8.0_162/ /opt/Oracle_Java/ -R
sudo update-alternatives --install "/usr/bin/java" "java" "/opt/Oracle_Java/jre1.8.0_162/bin/java" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/opt/Oracle_Java/jre1.8.0_162/bin/javaws" 1
sudo update-alternatives --set "java" "/opt/Oracle_Java/jre1.8.0_162/bin/java"
sudo update-alternatives --set "javaws" "/opt/Oracle_Java/jre1.8.0_162/bin/javaws"
java -version

Wenn das letzte Kommando die Version wie folgt ausgibt:

Code:
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

So haben wir auch diesen Schritt bewältigt. Weiter geht's.



Eclair

Wir sind immer noch im Download-Ordner, im zweiten Terminal. Nun besorgen wir uns Eclair (https://github.com/ACINQ/eclair). Wir sind immer noch faul und wollen das nicht selbst kompilieren oder bauen. So werden wir uns mit dem jar begnügen (https://github.com/ACINQ/eclair/releases):

Code:
wget https://github.com/ACINQ/eclair/releases/download/v0.2-alpha8/eclair-node-gui-0.2-alpha8-8edb2a4.jar

Das war es auch schon. Hier gibt es leider nichts zu verifizieren. Wir wollen aber auch nur im Testnetz spielen. Wir müssen also das Risiko eingehen. Wichtig: Damit Eclair korrekt läuft muss Bitcoin Core nebenher laufen! Nach:

Code:
java -jar eclair-node-gui-0.2-alpha8-8edb2a4.jar

Sollte sich dann auch schon was tun, auch wenn das Programm noch nicht konfiguriert ist und deshalb mit Fehlermeldung beendet.



Bitcoin Core (nach Synchronisierung)

In der GUI:

Help -> Debug window -> Console

Dort:

Code:
getnewaddress

Die Adresse, in meinem Fall:

mtDmzMz7NvuRjptrLWwbdVBs4j7Y3eXvCV

merken wir uns. Dann

Code:
addwitnessaddress mtDmzMz7NvuRjptrLWwbdVBs4j7Y3eXvCV

Erzeugt Segwit-Adresse, in meinem Fall:

2MswDJ1kf9aqiC6twrDyUbLqGmtnjtFG4XX

Auch diese merken wir uns.

Nun besorgen wir uns Geld auf:

https://testnet.manu.backend.hamburg/faucet

Indem wir unsere Segwit-Adresse dort angeben. Ich bekam z.B. 1.3 BTC auf 2MswDJ1kf9aqiC6twrDyUbLqGmtnjtFG4XX geschickt Grin. Natürlich dauert es hier ca. 1h bis die Transaktion 6x bestätigt und somit nutzbar ist.



Eclair Konfiguration

Wir gehen zu Beginn wieder in den Download-Order

Code:
cd /home/curiosity81/Downloads

Falls der Konfigurationsordner von Eclair noch nicht existiert so erzeugen wir ihn:

Code:
mkdir /home/curiosity81/.eclair

Dann editieren wir die eclair.conf:

Code:
nano /home/curiosity81/.eclair/eclair.conf

Und füllen die Datei wie folgt:

Code:
eclair.server.port=9735
eclair.node-alias="curiosity81"
eclair.node-color="9716b7"
eclair.bitcoind.rpcuser="<user>"
eclair.bitcoind.rpcpassword="<password>"
eclair.bitcoind.zmq="tcp://127.0.0.1:29000"
eclair.server.public-ips=["xx.xx.xx.xx"]

Für <user> und <password> nutzen wir die Werte, welche wir auch in der bitcoin.conf nutzen. Strg+X speichert die Datei und beendet nano. Damit man später den eigenen Knoten mit den entsprechenden Information auf https://explorer.acinq.co zu sehen bekommt (siehe auch weiter unten), so muss bei eclair.server.public-ips die eigenen IP eingetragen werden. Nur so können sich andere Teilnehmer im Netzwerk mit dem eigenen Knoten verbinden. Wie das abläuft, wenn sich Nachts die ip ändert ... das weiss ich auch nicht. Möglicherweise muss man dann erst den Knoten stoppen, per Skript die Konfiguration entsprechend ändern, und dann den Knoten wieder hochfahren. Das ist aber nur eine Vermutung. Man kann aber, um Testzahlungen durchzuführen, auch "xx.xx.xx.xx" stehen lassen.

Jetzt versuchen wir erneut Eclair zu starten:

Code:
java -jar eclair-node-gui-0.2-alpha8-8edb2a4.jar

Und tada, die Eclair-GUI öffnet sich.  Smiley



Verbindung mit dem Lightning Netzwerk

Wir öffnen im Browser folgende Adresse:

https://explorer.acinq.co

Und suchen uns dort einen Knoten im rechten Scrolldownmenü aus (also nicht in der Karte sondern rechts davon) mit welchem wir uns verbinden können. Wenn man einen Knoten anklickt, dann sieht man weitere Infos wie Alias, Publickey und IP. Für den Anfang begnügen wir uns mit den Knoten, welche eine IP anzeigen. Ich habe mir einen Knoten rausgesucht, der den Alias "pikefloyd" hat. Dessen Daten sind wie folgt, werden sich aber wohl mit der Zeit ändern oder der Knoten verschwindet ganz, seid also flexibel:

Code:
Alias:         pikefloyd
Publickey:     03c4b20397d476a0d008e61022c96803ada3c11918fff8133db4f7d27273710e03
IP und Port:   81.149.149.156:9735

Daraus bauen wir uns folgende ID aus dem Publickey, IP und Port zusammen:

Code:
03c4b20397d476a0d008e61022c96803ada3c11918fff8133db4f7d27273710e03@81.149.149.156:9735

In der Eclair-GUI wählen wir: Channels -> Open channel ...

Dort, bei "Target Node URI", kopieren wir obere ID rein. Zusätzlich klicken wir noch "Simple connection (no channel)" an und drücken "Connect". Nach etwas warten sollte sich die GUI mit Infos zu Channels und Nodes füllen. Wenn ihr eure Bitcoin Core Testnetzwallet wie oben beschrieben mit Faucetcoins gefüllt habt so sind nun auch sicherlich Payment-Channels möglich.



Öffnen eines Payment-Channels

Wie im vorherigen Schritt suchen wir uns einen Knoten im Lightning Netzwerk aus und geben die ID bei "Target Node URI" ein. Heute habe ich mir einen anderen Knoten ausgesucht. Diesmal klicken wir aber NICHT "Simple connection (no channel)" an! Zusätzlich wählen wir eine Bitcoin Betrag aus und geben diesen im Feld "Capacity" ein. Der Betrag muss natürlich kleiner/gleich dem Betrag auf eurer Bitcoin Core Testwallet sein. Ich habe dort mal 100 milliBTC eingegeben. Dann auf "Connect" drücken. Sofort sollte in Bitcoin Core die Meldung einer Transaktion von 0.1 BTC + Transaktiongebühr aufpoppen. Ihr habt also nun 2 Transaktionen in eurer Testwallet. Eine Eingehende von der Faucet und eine Ausgehende um den Channel zu öffnen. Nach dem Drücken von "Connect" handelt Eclair mit dem Channel-Partner etwas aus. Dann sollte in Eclair, bei den "Local Channels" bei "STATE" stehen:

Code:
WAIT_FOR_FUNDING_CONFIRMED

Jetzt heisst es etwa eine halbe Stunde zu warten, also 3 Bitcoin-Bestätigungen bis der Channel geöffnet ist. Bei Eclair scheinen nämlich 3 Bestätigungen auszureichen. Solange ist auch euer Knoten noch nicht sichtbar, siehe auch https://explorer.acinq.co/#/faq. Dann sollte in Eclair, bei den "Local Channels" bei "STATE" stehen

Code:
NORMAL

Sehen kann ich meinen Knoten auch nach 6 Bestätigungen nicht, liegt wahrscheinlich an den geschlossenen Ports. Ansonsten hat bisher alles fehlerfrei funktioniert.



Mit Lightning Netzwerk bezahlen

Wenn ich mich richtig entsinne, muss einer von den Beiden, der Bezahlende oder der Zubezahlende, dem anderen ein Geheimnis direkt, also nicht über das Lightning Netzwerk, schicken. Fragt mich jetzt nicht wie das genau geht, das war irgendwas mit einer Zufallszahl und deren Hash, welche/r dann durch das Netzwerk propagiert wird und ich habe die Details vergessen (ungefähr bei 9:00 in https://www.youtube.com/watch?v=wIhAmTqXhZQ). D.h. also, dass es sowas wie öffentliche Adressen in einer Blockchain nicht mehr gibt, der Zubezahlende muss einen Zahlungsaufruf generieren, den er dann dem Bezahlenden zu kommen lässt (https://medium.com/@btc_coach/lightning-network-in-action-b18a035c955d). So mein momentanes Verständnis. Ich könnte aber auch falsch liegen. Also korrigiert mich wenn nötig.

Um einen Zahlungsaufruf zu erzeugen geht man in Eclair wie folgt vor: Channels -> Receive Payment. Dort bei "Optional amount to receive" gibt man einen validen Betrag ein (oder auch nicht, ist ja optional) und drückt auf "Generate". Das Ergebnis muss man wohl seinem Gegenüber zukommen lassen.

Hier kann man wohl Phantasiekaffee kaufen:

https://starblocks.acinq.co

 Grin Grin Grin



Port forwarding und Ähnliches

Gefunden habe ich auf https://explorer.acinq.co/#/faq folgendes dazu, siehe den letzten Punkt:

Quote
I cannot connect to a node listed in the explorer.

Connection can fail due to one of the following reasons:

    The node is currently offline right now (any channels it might have are temporarily unavailable but stay open).
    The node does not announce a public IP.
    The public IP announced by the node is not accurate.
    The node is not reachable (misconfiguration in port forwarding, firewall...).
    ...

Bis jetzt hat alles ohne Portforwarding funktioniert. Und raustelefonieren d.h. schlichtes Bezahlen wird auch immer so funktionieren, auch mit geschlossenem Port 9735. Wenn aber euer Port 9735 geschlossen ist und die entsprechenden Pakete nicht an den entsprechenden Computer weitergeleitet werden (Portforwarding), dann bekommt derjenige, der sich mit euch verbinden will, eine Fehlermeldung, obwohl euer Knote wie ein ganz normaler aussieht. Aktuell kann man nämlich nicht unterscheiden, welche Knoten einen offenen Port 9735 haben und bei welchen dieser geschlossen ist. D.h. es wird passieren, dass auch ihr euch mit manchen Knoten nicht verbinden könnt, da diese Port 9735 geschlossen haben. Also nochmal:

Damit sich jemand mit eurem Knoten verbinden kann muss Port 9735 geöffnet sein!

Oder anders ausgedrückt, wenn alle nur anrufen und keiner abnimmt, dann ist das Telefonnetz nutzlos! Soll heissen, wenn alle ihren Port 9735 schliessen, dann gibt es schlicht kein Lightning Netzwerk. Wenn nur ein paar Knoten Port 9735 offen haben, dann ergibt das ein zentralisiertes Netzwerk, weil dann alle anderen sich mit diesen Knoten verbinden müssen. Und am besten wäre es, wenn alle Port 9735 geöffnet haben.

Auf Wunsch zitiert!
1569060331
Hero Member
*
Offline Offline

Posts: 1569060331

View Profile Personal Message (Offline)

Ignore
1569060331
Reply with quote  #2

1569060331
Report to moderator
1569060331
Hero Member
*
Offline Offline

Posts: 1569060331

View Profile Personal Message (Offline)

Ignore
1569060331
Reply with quote  #2

1569060331
Report to moderator
The block chain is the main innovation of Bitcoin. It is the first distributed timestamping system.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1569060331
Hero Member
*
Offline Offline

Posts: 1569060331

View Profile Personal Message (Offline)

Ignore
1569060331
Reply with quote  #2

1569060331
Report to moderator
1569060331
Hero Member
*
Offline Offline

Posts: 1569060331

View Profile Personal Message (Offline)

Ignore
1569060331
Reply with quote  #2

1569060331
Report to moderator
1569060331
Hero Member
*
Offline Offline

Posts: 1569060331

View Profile Personal Message (Offline)

Ignore
1569060331
Reply with quote  #2

1569060331
Report to moderator
twbt
Legendary
*
Offline Offline

Activity: 994
Merit: 1097


An AA rated Bandoneonista


View Profile
February 09, 2018, 05:28:11 PM
Merited by trantute2 (1)
 #62

Hallo,

ich probiere mich gerade im Lightning Netzwerk aus und will das hier dokumentieren. Auch, weil es zum LN nichts online gibt was selbst für erfahrene Computernutzer ohne Weiteres zu bewältigen wäre. Wenn schon die Installation von Eclair kaum hinzubekommen ist, dann ist vollkommen klar, dass das LN nicht aus den Puschen kommt. Deshalb diese Anleitung um die Einstiegshürden zu überwinden. Diesen Text werde ich nach und nach erweitern. Mein Ausganspunkt ist hierbei dieser Beitrag:

https://medium.com/@ajs1287/setting-up-bitcoin-lightning-network-node-on-macos-is-peanuts-eclair-5afbef553d71

D.h., wenn ich mit meiner Anleitung noch nicht fertig bin und ihr weiterspielen wollt, dann halten euch an obigen Beitrag.



Sonstige Referenzen

Lightning Network Megathread:

https://www.reddit.com/r/Bitcoin/comments/7pwna9/lightning_network_megathread/

Frage zu Eclair lassen sich mit Github-Account am besten hier beantworten:

https://gitter.im/ACINQ/eclair



Voraussetzungen

  • Ein Rechner mit genug Leistung und 64bit, läuft natürlich analog auch für ein 32bit System, sind dann aber andere Dateien
  • Ubuntu 16.04 LTS (http://de.releases.ubuntu.com/16.04.3/), geht aber bestimmt auch mit einer anderen Version
  • Der Rechner sollte eigenständig, Betriebssystem frisch installiert und getrennt von wichtigen Daten sein
  • Erfahrung mit Linux, Netzwerk etc. pp.
  • Eine zügige Netzwerkverbindung
  • Etwa 2h Zeit da mindestens 2 Bitcoin Transaktionen durchgeführt werden
  • Der Nutzer hier ist "curiosity81", der muss entsprechend angepasst werden
  • Platzhalter sind z.B. "<Passwort>" und müssen entsprechend ersetzt werden



Zu Beginn gehen wir in den Download-Ordner (den gibt es bei Ubuntu standardmäßig):

Code:
cd /home/curiosity81/Downloads



Bitcoin Core (vor Synchronisierung)

Und laden Bitcoin Core (https://bitcoin.org/en/download) herunter:

Code:
wget https://bitcoin.org/bin/bitcoin-core-0.15.1/bitcoin-0.15.1-x86_64-linux-gnu.tar.gz

Zusätzlich besorgen wir uns die Signatur von van der Laan:

Code:
wget https://bitcoin.org/laanwj-releases.asc

Wir importieren den Schlüssel:

Code:
gpg --import laanwj-releases.asc

Zu guter Letzt besorgen wir uns die Hashsummen der Dateien:

Code:
wget https://bitcoin.org/bin/bitcoin-core-0.15.1/SHA256SUMS.asc

Nun verifizieren wir Bitcoin Core bevor wir es entpacken:

Code:
gpg --verify SHA256SUMS.asc
sha256sum bitcoin-0.15.1-x86_64-linux-gnu.tar.gz | grep -o 387c2e12c67250892b0814f26a5a38f837ca8ab68c86af517f975a2a2710225b

Die lange Hex-Zahl stammt aus SHA256SUM.asc und entspricht der Hashsumme der runtergeladenen Datei. Wenn grep ein Ergebnis ausgibt, dann ist alles ok. Gibt bestimmt elegantere Lösungen das zu prüfen als meine.

Jetzt entpacken wir Bitcoin Core:

Code:
tar -xzvf bitcoin-0.15.1-x86_64-linux-gnu.tar.gz

Und passen die Bitcoin Konfigurationsdatei an:

Code:
mkdir /home/curiosity81/.bitcoin
nano /home/curiosity81/.bitcoin/bitcoin.conf

Wir füllen die Datei folgendermaßen:

Code:
testnet=1
server=1
rpcuser=<user>
rpcpassword=<password>
txindex=1
zmqpubrawblock=tcp://127.0.0.1:29000
zmqpubrawtx=tcp://127.0.0.1:29000

Die Platzhalter <user> und <password> müssen mit einem entsprechenden Werten ersetzt werden. Wir speichern und verlassen nano mit Strg+X.

Nun können wir Bitcoin Core starten:

Code:
/home/curiosity81/Downloads/bitcoin-0.15.1/bin/bitcoin-qt

Bitcoin Core wird sich nun mit dem Testnetz synchronisieren. Das dauert ein Weilchen, aber nicht solange wie im Hauptnetz. Bei mir waren das ca. 1.5h.



JRE 1.8

Nun müssen wir das Java Runtime Environment von Oracle installieren, damit Eclair auch läuft. Wir gehen also den Weg des geringsten Widerstands. Fragt mich aber nicht zu den Lizenzen und was sich Eclair dabei gedacht hat Oracle zu nutzen. Dies hier ist nur eine Anleitung. Jeder installiert also auf eigene Entscheidung hin dieses Oracle-Produkt.

Wir gehen zu Beginn per Browser (Firefox) auf http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html. Dort wählen wir

jre-8u162-linux-x64.tar.gz

aus, bestätigen das License Agreement und beginnen den Download. Die Datei landet in unserem Download-Ordner. Da Bitcoin Core wahrscheinlich noch synchronisiert so öffenen wir ein neues Terminal und gehen wieder in den Download-Ordner:

Code:
cd /home/curiosity81/Downloads

Dann verifizieren wir die Hashsumme der runtergeladenen Datei. Dazu klicken wir oben auf der Oracle Seite (http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html) bei

JRE 8u162 Checksum

auf "Checksum" und merken uns den sha256-Wert für die entsprechende Datei:

dfa25ebd1f90bf74ad7ba2dacb0e08d884594e733c9a522b58256778031341a4

Jetzt testen wir den Hash:

Code:
sha256sum jre-8u162-linux-x64.tar.gz | grep -o dfa25ebd1f90bf74ad7ba2dacb0e08d884594e733c9a522b58256778031341a4

Wenn alles ok ist so entpacken wir die Datei:

Code:
tar -xzfv jre-8u162-linux-x64.tar.gz

Und installieren java (https://wiki.ubuntuusers.de/Java/Installation/Oracle_Java/Java_8/):

Code:
sudo mkdir /opt/Oracle_Java
sudo cp jre1.8.0_162/ /opt/Oracle_Java/ -R
sudo update-alternatives --install "/usr/bin/java" "java" "/opt/Oracle_Java/jre1.8.0_162/bin/java" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/opt/Oracle_Java/jre1.8.0_162/bin/javaws" 1
sudo update-alternatives --set "java" "/opt/Oracle_Java/jre1.8.0_162/bin/java"
sudo update-alternatives --set "javaws" "/opt/Oracle_Java/jre1.8.0_162/bin/javaws"
java -version

Wenn das letzte Kommando die Version wie folgt ausgibt:

Code:
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

So haben wir auch diesen Schritt bewältigt. Weiter geht's.



Eclair

Wir sind immer noch im Download-Ordner, im zweiten Terminal. Nun besorgen wir uns Eclair (https://github.com/ACINQ/eclair). Wir sind immer noch faul und wollen das nicht selbst kompilieren oder bauen. So werden wir uns mit dem jar begnügen (https://github.com/ACINQ/eclair/releases):

Code:
wget https://github.com/ACINQ/eclair/releases/download/v0.2-alpha8/eclair-node-gui-0.2-alpha8-8edb2a4.jar

Das war es auch schon. Hier gibt es leider nichts zu verifizieren. Wir wollen aber auch nur im Testnetz spielen. Wir müssen also das Risiko eingehen. Wichtig: Damit Eclair korrekt läuft muss Bitcoin Core nebenher laufen! Nach:

Code:
java -jar eclair-node-gui-0.2-alpha8-8edb2a4.jar

Sollte sich dann auch schon was tun, auch wenn das Programm noch nicht konfiguriert ist und deshalb mit Fehlermeldung beendet.



Bitcoin Core (nach Synchronisierung)

In der GUI:

Help -> Debug window -> Console

Dort:

Code:
getnewaddress

Die Adresse, in meinem Fall:

mtDmzMz7NvuRjptrLWwbdVBs4j7Y3eXvCV

merken wir uns. Dann

Code:
addwitnessaddress mtDmzMz7NvuRjptrLWwbdVBs4j7Y3eXvCV

Erzeugt Segwit-Adresse, in meinem Fall:

2MswDJ1kf9aqiC6twrDyUbLqGmtnjtFG4XX

Auch diese merken wir uns.

Nun besorgen wir uns Geld auf:

https://testnet.manu.backend.hamburg/faucet

Indem wir unsere Segwit-Adresse dort angeben. Ich bekam z.B. 1.3 BTC auf 2MswDJ1kf9aqiC6twrDyUbLqGmtnjtFG4XX geschickt Grin. Natürlich dauert es hier ca. 1h bis die Transaktion 6x bestätigt und somit nutzbar ist.



Eclair Konfiguration

Wir gehen zu Beginn wieder in den Download-Order

Code:
cd /home/curiosity81/Downloads

Falls der Konfigurationsordner von Eclair noch nicht existiert so erzeugen wir ihn:

Code:
mkdir /home/curiosity81/.eclair

Dann editieren wir die eclair.conf:

Code:
nano /home/curiosity81/.eclair/eclair.conf

Und füllen die Datei wie folgt:

Code:
eclair.server.port=9735
eclair.node-alias="curiosity81"
eclair.node-color="9716b7"
eclair.bitcoind.rpcuser="<user>"
eclair.bitcoind.rpcpassword="<password>"
eclair.bitcoind.zmq="tcp://127.0.0.1:29000"
eclair.server.public-ips=["xx.xx.xx.xx"]

Für <user> und <password> nutzen wir die Werte, welche wir auch in der bitcoin.conf nutzen. Strg+X speichert die Datei und beendet nano. Damit man später den eigenen Knoten mit den entsprechenden Information auf https://explorer.acinq.co zu sehen bekommt (siehe auch weiter unten), so muss bei eclair.server.public-ips die eigenen IP eingetragen werden. Nur so können sich andere Teilnehmer im Netzwerk mit dem eigenen Knoten verbinden. Wie das abläuft, wenn sich Nachts die ip ändert ... das weiss ich auch nicht. Möglicherweise muss man dann erst den Knoten stoppen, per Skript die Konfiguration entsprechend ändern, und dann den Knoten wieder hochfahren. Das ist aber nur eine Vermutung. Man kann aber, um Testzahlungen durchzuführen, auch "xx.xx.xx.xx" stehen lassen.

Jetzt versuchen wir erneut Eclair zu starten:

Code:
java -jar eclair-node-gui-0.2-alpha8-8edb2a4.jar

Und tada, die Eclair-GUI öffnet sich.  Smiley



Verbindung mit dem Lightning Netzwerk

Wir öffnen im Browser folgende Adresse:

https://explorer.acinq.co

Und suchen uns dort einen Knoten im rechten Scrolldownmenü aus (also nicht in der Karte sondern rechts davon) mit welchem wir uns verbinden können. Wenn man einen Knoten anklickt, dann sieht man weitere Infos wie Alias, Publickey und IP. Für den Anfang begnügen wir uns mit den Knoten, welche eine IP anzeigen. Ich habe mir einen Knoten rausgesucht, der den Alias "pikefloyd" hat. Dessen Daten sind wie folgt, werden sich aber wohl mit der Zeit ändern oder der Knoten verschwindet ganz, seid also flexibel:

Code:
Alias:         pikefloyd
Publickey:     03c4b20397d476a0d008e61022c96803ada3c11918fff8133db4f7d27273710e03
IP und Port:   81.149.149.156:9735

Daraus bauen wir uns folgende ID aus dem Publickey, IP und Port zusammen:

Code:
03c4b20397d476a0d008e61022c96803ada3c11918fff8133db4f7d27273710e03@81.149.149.156:9735

In der Eclair-GUI wählen wir: Channels -> Open channel ...

Dort, bei "Target Node URI", kopieren wir obere ID rein. Zusätzlich klicken wir noch "Simple connection (no channel)" an und drücken "Connect". Nach etwas warten sollte sich die GUI mit Infos zu Channels und Nodes füllen. Wenn ihr eure Bitcoin Core Testnetzwallet wie oben beschrieben mit Faucetcoins gefüllt habt so sind nun auch sicherlich Payment-Channels möglich.



Öffnen eines Payment-Channels

Wie im vorherigen Schritt suchen wir uns einen Knoten im Lightning Netzwerk aus und geben die ID bei "Target Node URI" ein. Heute habe ich mir einen anderen Knoten ausgesucht. Diesmal klicken wir aber NICHT "Simple connection (no channel)" an! Zusätzlich wählen wir eine Bitcoin Betrag aus und geben diesen im Feld "Capacity" ein. Der Betrag muss natürlich kleiner/gleich dem Betrag auf eurer Bitcoin Core Testwallet sein. Ich habe dort mal 100 milliBTC eingegeben. Dann auf "Connect" drücken. Sofort sollte in Bitcoin Core die Meldung einer Transaktion von 0.1 BTC + Transaktiongebühr aufpoppen. Ihr habt also nun 2 Transaktionen in eurer Testwallet. Eine Eingehende von der Faucet und eine Ausgehende um den Channel zu öffnen. Nach dem Drücken von "Connect" handelt Eclair mit dem Channel-Partner etwas aus. Dann sollte in Eclair, bei den "Local Channels" bei "STATE" stehen:

Code:
WAIT_FOR_FUNDING_CONFIRMED

Jetzt heisst es etwa eine halbe Stunde zu warten, also 3 Bitcoin-Bestätigungen bis der Channel geöffnet ist. Bei Eclair scheinen nämlich 3 Bestätigungen auszureichen. Solange ist auch euer Knoten noch nicht sichtbar, siehe auch https://explorer.acinq.co/#/faq. Dann sollte in Eclair, bei den "Local Channels" bei "STATE" stehen

Code:
NORMAL

Sehen kann ich meinen Knoten auch nach 6 Bestätigungen nicht, liegt wahrscheinlich an den geschlossenen Ports. Ansonsten hat bisher alles fehlerfrei funktioniert.



Mit Lightning Netzwerk bezahlen

Wenn ich mich richtig entsinne, muss einer von den Beiden, der Bezahlende oder der Zubezahlende, dem anderen ein Geheimnis direkt, also nicht über das Lightning Netzwerk, schicken. Fragt mich jetzt nicht wie das genau geht, das war irgendwas mit einer Zufallszahl und deren Hash, welche/r dann durch das Netzwerk propagiert wird und ich habe die Details vergessen (ungefähr bei 9:00 in https://www.youtube.com/watch?v=wIhAmTqXhZQ). D.h. also, dass es sowas wie öffentliche Adressen in einer Blockchain nicht mehr gibt, der Zubezahlende muss einen Zahlungsaufruf generieren, den er dann dem Bezahlenden zu kommen lässt (https://medium.com/@btc_coach/lightning-network-in-action-b18a035c955d). So mein momentanes Verständnis. Ich könnte aber auch falsch liegen. Also korrigiert mich wenn nötig.

Um einen Zahlungsaufruf zu erzeugen geht man in Eclair wie folgt vor: Channels -> Receive Payment. Dort bei "Optional amount to receive" gibt man einen validen Betrag ein (oder auch nicht, ist ja optional) und drückt auf "Generate". Das Ergebnis muss man wohl seinem Gegenüber zukommen lassen.

Hier kann man wohl Phantasiekaffee kaufen:

https://starblocks.acinq.co

 Grin Grin Grin



Port forwarding und Ähnliches

Gefunden habe ich auf https://explorer.acinq.co/#/faq folgendes dazu, siehe den letzten Punkt:

Quote
I cannot connect to a node listed in the explorer.

Connection can fail due to one of the following reasons:

    The node is currently offline right now (any channels it might have are temporarily unavailable but stay open).
    The node does not announce a public IP.
    The public IP announced by the node is not accurate.
    The node is not reachable (misconfiguration in port forwarding, firewall...).
    ...

Bis jetzt hat alles ohne Portforwarding funktioniert. Und raustelefonieren d.h. schlichtes Bezahlen wird auch immer so funktionieren, auch mit geschlossenem Port 9735. Wenn aber euer Port 9735 geschlossen ist und die entsprechenden Pakete nicht an den entsprechenden Computer weitergeleitet werden (Portforwarding), dann bekommt derjenige, der sich mit euch verbinden will, eine Fehlermeldung, obwohl euer Knote wie ein ganz normaler aussieht. Aktuell kann man nämlich nicht unterscheiden, welche Knoten einen offenen Port 9735 haben und bei welchen dieser geschlossen ist. D.h. es wird passieren, dass auch ihr euch mit manchen Knoten nicht verbinden könnt, da diese Port 9735 geschlossen haben. Also nochmal:

Damit sich jemand mit eurem Knoten verbinden kann muss Port 9735 geöffnet sein!

Oder anders ausgedrückt, wenn alle nur anrufen und keiner abnimmt, dann ist das Telefonnetz nutzlos! Soll heissen, wenn alle ihren Port 9735 schliessen, dann gibt es schlicht kein Lightning Netzwerk. Wenn nur ein paar Knoten Port 9735 offen haben, dann ergibt das ein zentralisiertes Netzwerk, weil dann alle anderen sich mit diesen Knoten verbinden müssen. Und am besten wäre es, wenn alle Port 9735 geöffnet haben.

o_solo_miner
Legendary
*
Offline Offline

Activity: 1328
Merit: 1064


-> morgen, ist heute, schon gestern <-


View Profile
February 09, 2018, 06:10:25 PM
Merited by trantute2 (1)
 #63

Hallo,

ich probiere mich gerade im Lightning Netzwerk aus und will das hier dokumentieren. Auch, weil es zum LN nichts online gibt was selbst für erfahrene Computernutzer ohne Weiteres zu bewältigen wäre. Wenn schon die Installation von Eclair kaum hinzubekommen ist, dann ist vollkommen klar, dass das LN nicht aus den Puschen kommt. Deshalb diese Anleitung um die Einstiegshürden zu überwinden. Diesen Text werde ich nach und nach erweitern. Mein Ausganspunkt ist hierbei dieser Beitrag:

https://medium.com/@ajs1287/setting-up-bitcoin-lightning-network-node-on-macos-is-peanuts-eclair-5afbef553d71

D.h., wenn ich mit meiner Anleitung noch nicht fertig bin und ihr weiterspielen wollt, dann halten euch an obigen Beitrag.



Sonstige Referenzen

Lightning Network Megathread:

https://www.reddit.com/r/Bitcoin/comments/7pwna9/lightning_network_megathread/

Frage zu Eclair lassen sich mit Github-Account am besten hier beantworten:

https://gitter.im/ACINQ/eclair



Voraussetzungen

  • Ein Rechner mit genug Leistung und 64bit, läuft natürlich analog auch für ein 32bit System, sind dann aber andere Dateien
  • Ubuntu 16.04 LTS (http://de.releases.ubuntu.com/16.04.3/), geht aber bestimmt auch mit einer anderen Version
  • Der Rechner sollte eigenständig, Betriebssystem frisch installiert und getrennt von wichtigen Daten sein
  • Erfahrung mit Linux, Netzwerk etc. pp.
  • Eine zügige Netzwerkverbindung
  • Etwa 2h Zeit da mindestens 2 Bitcoin Transaktionen durchgeführt werden
  • Der Nutzer hier ist "curiosity81", der muss entsprechend angepasst werden
  • Platzhalter sind z.B. "<Passwort>" und müssen entsprechend ersetzt werden



Zu Beginn gehen wir in den Download-Ordner (den gibt es bei Ubuntu standardmäßig):

Code:
cd /home/curiosity81/Downloads



Bitcoin Core (vor Synchronisierung)

Und laden Bitcoin Core (https://bitcoin.org/en/download) herunter:

Code:
wget https://bitcoin.org/bin/bitcoin-core-0.15.1/bitcoin-0.15.1-x86_64-linux-gnu.tar.gz

Zusätzlich besorgen wir uns die Signatur von van der Laan:

Code:
wget https://bitcoin.org/laanwj-releases.asc

Wir importieren den Schlüssel:

Code:
gpg --import laanwj-releases.asc

Zu guter Letzt besorgen wir uns die Hashsummen der Dateien:

Code:
wget https://bitcoin.org/bin/bitcoin-core-0.15.1/SHA256SUMS.asc

Nun verifizieren wir Bitcoin Core bevor wir es entpacken:

Code:
gpg --verify SHA256SUMS.asc
sha256sum bitcoin-0.15.1-x86_64-linux-gnu.tar.gz | grep -o 387c2e12c67250892b0814f26a5a38f837ca8ab68c86af517f975a2a2710225b

Die lange Hex-Zahl stammt aus SHA256SUM.asc und entspricht der Hashsumme der runtergeladenen Datei. Wenn grep ein Ergebnis ausgibt, dann ist alles ok. Gibt bestimmt elegantere Lösungen das zu prüfen als meine.

Jetzt entpacken wir Bitcoin Core:

Code:
tar -xzvf bitcoin-0.15.1-x86_64-linux-gnu.tar.gz

Und passen die Bitcoin Konfigurationsdatei an:

Code:
mkdir /home/curiosity81/.bitcoin
nano /home/curiosity81/.bitcoin/bitcoin.conf

Wir füllen die Datei folgendermaßen:

Code:
testnet=1
server=1
rpcuser=<user>
rpcpassword=<password>
txindex=1
zmqpubrawblock=tcp://127.0.0.1:29000
zmqpubrawtx=tcp://127.0.0.1:29000

Die Platzhalter <user> und <password> müssen mit einem entsprechenden Werten ersetzt werden. Wir speichern und verlassen nano mit Strg+X.

Nun können wir Bitcoin Core starten:

Code:
/home/curiosity81/Downloads/bitcoin-0.15.1/bin/bitcoin-qt

Bitcoin Core wird sich nun mit dem Testnetz synchronisieren. Das dauert ein Weilchen, aber nicht solange wie im Hauptnetz. Bei mir waren das ca. 1.5h.



JRE 1.8

Nun müssen wir das Java Runtime Environment von Oracle installieren, damit Eclair auch läuft. Wir gehen also den Weg des geringsten Widerstands. Fragt mich aber nicht zu den Lizenzen und was sich Eclair dabei gedacht hat Oracle zu nutzen. Dies hier ist nur eine Anleitung. Jeder installiert also auf eigene Entscheidung hin dieses Oracle-Produkt.

Wir gehen zu Beginn per Browser (Firefox) auf http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html. Dort wählen wir

jre-8u162-linux-x64.tar.gz

aus, bestätigen das License Agreement und beginnen den Download. Die Datei landet in unserem Download-Ordner. Da Bitcoin Core wahrscheinlich noch synchronisiert so öffenen wir ein neues Terminal und gehen wieder in den Download-Ordner:

Code:
cd /home/curiosity81/Downloads

Dann verifizieren wir die Hashsumme der runtergeladenen Datei. Dazu klicken wir oben auf der Oracle Seite (http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html) bei

JRE 8u162 Checksum

auf "Checksum" und merken uns den sha256-Wert für die entsprechende Datei:

dfa25ebd1f90bf74ad7ba2dacb0e08d884594e733c9a522b58256778031341a4

Jetzt testen wir den Hash:

Code:
sha256sum jre-8u162-linux-x64.tar.gz | grep -o dfa25ebd1f90bf74ad7ba2dacb0e08d884594e733c9a522b58256778031341a4

Wenn alles ok ist so entpacken wir die Datei:

Code:
tar -xzfv jre-8u162-linux-x64.tar.gz

Und installieren java (https://wiki.ubuntuusers.de/Java/Installation/Oracle_Java/Java_8/):

Code:
sudo mkdir /opt/Oracle_Java
sudo cp jre1.8.0_162/ /opt/Oracle_Java/ -R
sudo update-alternatives --install "/usr/bin/java" "java" "/opt/Oracle_Java/jre1.8.0_162/bin/java" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/opt/Oracle_Java/jre1.8.0_162/bin/javaws" 1
sudo update-alternatives --set "java" "/opt/Oracle_Java/jre1.8.0_162/bin/java"
sudo update-alternatives --set "javaws" "/opt/Oracle_Java/jre1.8.0_162/bin/javaws"
java -version

Wenn das letzte Kommando die Version wie folgt ausgibt:

Code:
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

So haben wir auch diesen Schritt bewältigt. Weiter geht's.



Eclair

Wir sind immer noch im Download-Ordner, im zweiten Terminal. Nun besorgen wir uns Eclair (https://github.com/ACINQ/eclair). Wir sind immer noch faul und wollen das nicht selbst kompilieren oder bauen. So werden wir uns mit dem jar begnügen (https://github.com/ACINQ/eclair/releases):

Code:
wget https://github.com/ACINQ/eclair/releases/download/v0.2-alpha8/eclair-node-gui-0.2-alpha8-8edb2a4.jar

Das war es auch schon. Hier gibt es leider nichts zu verifizieren. Wir wollen aber auch nur im Testnetz spielen. Wir müssen also das Risiko eingehen. Wichtig: Damit Eclair korrekt läuft muss Bitcoin Core nebenher laufen! Nach:

Code:
java -jar eclair-node-gui-0.2-alpha8-8edb2a4.jar

Sollte sich dann auch schon was tun, auch wenn das Programm noch nicht konfiguriert ist und deshalb mit Fehlermeldung beendet.



Bitcoin Core (nach Synchronisierung)

In der GUI:

Help -> Debug window -> Console

Dort:

Code:
getnewaddress

Die Adresse, in meinem Fall:

mtDmzMz7NvuRjptrLWwbdVBs4j7Y3eXvCV

merken wir uns. Dann

Code:
addwitnessaddress mtDmzMz7NvuRjptrLWwbdVBs4j7Y3eXvCV

Erzeugt Segwit-Adresse, in meinem Fall:

2MswDJ1kf9aqiC6twrDyUbLqGmtnjtFG4XX

Auch diese merken wir uns.

Nun besorgen wir uns Geld auf:

https://testnet.manu.backend.hamburg/faucet

Indem wir unsere Segwit-Adresse dort angeben. Ich bekam z.B. 1.3 BTC auf 2MswDJ1kf9aqiC6twrDyUbLqGmtnjtFG4XX geschickt Grin. Natürlich dauert es hier ca. 1h bis die Transaktion 6x bestätigt und somit nutzbar ist.



Eclair Konfiguration

Wir gehen zu Beginn wieder in den Download-Order

Code:
cd /home/curiosity81/Downloads

Falls der Konfigurationsordner von Eclair noch nicht existiert so erzeugen wir ihn:

Code:
mkdir /home/curiosity81/.eclair

Dann editieren wir die eclair.conf:

Code:
nano /home/curiosity81/.eclair/eclair.conf

Und füllen die Datei wie folgt:

Code:
eclair.server.port=9735
eclair.node-alias="curiosity81"
eclair.node-color="9716b7"
eclair.bitcoind.rpcuser="<user>"
eclair.bitcoind.rpcpassword="<password>"
eclair.bitcoind.zmq="tcp://127.0.0.1:29000"
eclair.server.public-ips=["xx.xx.xx.xx"]

Für <user> und <password> nutzen wir die Werte, welche wir auch in der bitcoin.conf nutzen. Strg+X speichert die Datei und beendet nano. Damit man später den eigenen Knoten mit den entsprechenden Information auf https://explorer.acinq.co zu sehen bekommt (siehe auch weiter unten), so muss bei eclair.server.public-ips die eigenen IP eingetragen werden. Nur so können sich andere Teilnehmer im Netzwerk mit dem eigenen Knoten verbinden. Wie das abläuft, wenn sich Nachts die ip ändert ... das weiss ich auch nicht. Möglicherweise muss man dann erst den Knoten stoppen, per Skript die Konfiguration entsprechend ändern, und dann den Knoten wieder hochfahren. Das ist aber nur eine Vermutung. Man kann aber, um Testzahlungen durchzuführen, auch "xx.xx.xx.xx" stehen lassen.

Jetzt versuchen wir erneut Eclair zu starten:

Code:
java -jar eclair-node-gui-0.2-alpha8-8edb2a4.jar

Und tada, die Eclair-GUI öffnet sich.  Smiley



Verbindung mit dem Lightning Netzwerk

Wir öffnen im Browser folgende Adresse:

https://explorer.acinq.co

Und suchen uns dort einen Knoten im rechten Scrolldownmenü aus (also nicht in der Karte sondern rechts davon) mit welchem wir uns verbinden können. Wenn man einen Knoten anklickt, dann sieht man weitere Infos wie Alias, Publickey und IP. Für den Anfang begnügen wir uns mit den Knoten, welche eine IP anzeigen. Ich habe mir einen Knoten rausgesucht, der den Alias "pikefloyd" hat. Dessen Daten sind wie folgt, werden sich aber wohl mit der Zeit ändern oder der Knoten verschwindet ganz, seid also flexibel:

Code:
Alias:         pikefloyd
Publickey:     03c4b20397d476a0d008e61022c96803ada3c11918fff8133db4f7d27273710e03
IP und Port:   81.149.149.156:9735

Daraus bauen wir uns folgende ID aus dem Publickey, IP und Port zusammen:

Code:
03c4b20397d476a0d008e61022c96803ada3c11918fff8133db4f7d27273710e03@81.149.149.156:9735

In der Eclair-GUI wählen wir: Channels -> Open channel ...

Dort, bei "Target Node URI", kopieren wir obere ID rein. Zusätzlich klicken wir noch "Simple connection (no channel)" an und drücken "Connect". Nach etwas warten sollte sich die GUI mit Infos zu Channels und Nodes füllen. Wenn ihr eure Bitcoin Core Testnetzwallet wie oben beschrieben mit Faucetcoins gefüllt habt so sind nun auch sicherlich Payment-Channels möglich.



Öffnen eines Payment-Channels

Wie im vorherigen Schritt suchen wir uns einen Knoten im Lightning Netzwerk aus und geben die ID bei "Target Node URI" ein. Heute habe ich mir einen anderen Knoten ausgesucht. Diesmal klicken wir aber NICHT "Simple connection (no channel)" an! Zusätzlich wählen wir eine Bitcoin Betrag aus und geben diesen im Feld "Capacity" ein. Der Betrag muss natürlich kleiner/gleich dem Betrag auf eurer Bitcoin Core Testwallet sein. Ich habe dort mal 100 milliBTC eingegeben. Dann auf "Connect" drücken. Sofort sollte in Bitcoin Core die Meldung einer Transaktion von 0.1 BTC + Transaktiongebühr aufpoppen. Ihr habt also nun 2 Transaktionen in eurer Testwallet. Eine Eingehende von der Faucet und eine Ausgehende um den Channel zu öffnen. Nach dem Drücken von "Connect" handelt Eclair mit dem Channel-Partner etwas aus. Dann sollte in Eclair, bei den "Local Channels" bei "STATE" stehen:

Code:
WAIT_FOR_FUNDING_CONFIRMED

Jetzt heisst es etwa eine halbe Stunde zu warten, also 3 Bitcoin-Bestätigungen bis der Channel geöffnet ist. Bei Eclair scheinen nämlich 3 Bestätigungen auszureichen. Solange ist auch euer Knoten noch nicht sichtbar, siehe auch https://explorer.acinq.co/#/faq. Dann sollte in Eclair, bei den "Local Channels" bei "STATE" stehen

Code:
NORMAL

Sehen kann ich meinen Knoten auch nach 6 Bestätigungen nicht, liegt wahrscheinlich an den geschlossenen Ports. Ansonsten hat bisher alles fehlerfrei funktioniert.



Mit Lightning Netzwerk bezahlen

Wenn ich mich richtig entsinne, muss einer von den Beiden, der Bezahlende oder der Zubezahlende, dem anderen ein Geheimnis direkt, also nicht über das Lightning Netzwerk, schicken. Fragt mich jetzt nicht wie das genau geht, das war irgendwas mit einer Zufallszahl und deren Hash, welche/r dann durch das Netzwerk propagiert wird und ich habe die Details vergessen (ungefähr bei 9:00 in https://www.youtube.com/watch?v=wIhAmTqXhZQ). D.h. also, dass es sowas wie öffentliche Adressen in einer Blockchain nicht mehr gibt, der Zubezahlende muss einen Zahlungsaufruf generieren, den er dann dem Bezahlenden zu kommen lässt (https://medium.com/@btc_coach/lightning-network-in-action-b18a035c955d). So mein momentanes Verständnis. Ich könnte aber auch falsch liegen. Also korrigiert mich wenn nötig.

Um einen Zahlungsaufruf zu erzeugen geht man in Eclair wie folgt vor: Channels -> Receive Payment. Dort bei "Optional amount to receive" gibt man einen validen Betrag ein (oder auch nicht, ist ja optional) und drückt auf "Generate". Das Ergebnis muss man wohl seinem Gegenüber zukommen lassen.

Hier kann man wohl Phantasiekaffee kaufen:

https://starblocks.acinq.co

 Grin Grin Grin



Port forwarding und Ähnliches

Gefunden habe ich auf https://explorer.acinq.co/#/faq folgendes dazu, siehe den letzten Punkt:

Quote
I cannot connect to a node listed in the explorer.

Connection can fail due to one of the following reasons:

    The node is currently offline right now (any channels it might have are temporarily unavailable but stay open).
    The node does not announce a public IP.
    The public IP announced by the node is not accurate.
    The node is not reachable (misconfiguration in port forwarding, firewall...).
    ...

Bis jetzt hat alles ohne Portforwarding funktioniert. Und raustelefonieren d.h. schlichtes Bezahlen wird auch immer so funktionieren, auch mit geschlossenem Port 9735. Wenn aber euer Port 9735 geschlossen ist und die entsprechenden Pakete nicht an den entsprechenden Computer weitergeleitet werden (Portforwarding), dann bekommt derjenige, der sich mit euch verbinden will, eine Fehlermeldung, obwohl euer Knote wie ein ganz normaler aussieht. Aktuell kann man nämlich nicht unterscheiden, welche Knoten einen offenen Port 9735 haben und bei welchen dieser geschlossen ist. D.h. es wird passieren, dass auch ihr euch mit manchen Knoten nicht verbinden könnt, da diese Port 9735 geschlossen haben. Also nochmal:

Damit sich jemand mit eurem Knoten verbinden kann muss Port 9735 geöffnet sein!

Oder anders ausgedrückt, wenn alle nur anrufen und keiner abnimmt, dann ist das Telefonnetz nutzlos! Soll heissen, wenn alle ihren Port 9735 schliessen, dann gibt es schlicht kein Lightning Netzwerk. Wenn nur ein paar Knoten Port 9735 offen haben, dann ergibt das ein zentralisiertes Netzwerk, weil dann alle anderen sich mit diesen Knoten verbinden müssen. Und am besten wäre es, wenn alle Port 9735 geöffnet haben.

http://ckpool.org "THE Pool" from the creator of CGMiner & CKPool / Payout System:SPLNS / ZERO FEE!
------------------------------------------- join now -----------------------------------------------
http://solo.ckpool.org for Solominers with the best block notify system
o_solo_miner
Legendary
*
Offline Offline

Activity: 1328
Merit: 1064


-> morgen, ist heute, schon gestern <-


View Profile
February 09, 2018, 06:10:38 PM
Merited by trantute2 (1)
 #64

Hallo,

ich probiere mich gerade im Lightning Netzwerk aus und will das hier dokumentieren. Auch, weil es zum LN nichts online gibt was selbst für erfahrene Computernutzer ohne Weiteres zu bewältigen wäre. Wenn schon die Installation von Eclair kaum hinzubekommen ist, dann ist vollkommen klar, dass das LN nicht aus den Puschen kommt. Deshalb diese Anleitung um die Einstiegshürden zu überwinden. Diesen Text werde ich nach und nach erweitern. Mein Ausganspunkt ist hierbei dieser Beitrag:

https://medium.com/@ajs1287/setting-up-bitcoin-lightning-network-node-on-macos-is-peanuts-eclair-5afbef553d71

D.h., wenn ich mit meiner Anleitung noch nicht fertig bin und ihr weiterspielen wollt, dann halten euch an obigen Beitrag.



Sonstige Referenzen

Lightning Network Megathread:

https://www.reddit.com/r/Bitcoin/comments/7pwna9/lightning_network_megathread/

Frage zu Eclair lassen sich mit Github-Account am besten hier beantworten:

https://gitter.im/ACINQ/eclair



Voraussetzungen

  • Ein Rechner mit genug Leistung und 64bit, läuft natürlich analog auch für ein 32bit System, sind dann aber andere Dateien
  • Ubuntu 16.04 LTS (http://de.releases.ubuntu.com/16.04.3/), geht aber bestimmt auch mit einer anderen Version
  • Der Rechner sollte eigenständig, Betriebssystem frisch installiert und getrennt von wichtigen Daten sein
  • Erfahrung mit Linux, Netzwerk etc. pp.
  • Eine zügige Netzwerkverbindung
  • Etwa 2h Zeit da mindestens 2 Bitcoin Transaktionen durchgeführt werden
  • Der Nutzer hier ist "curiosity81", der muss entsprechend angepasst werden
  • Platzhalter sind z.B. "<Passwort>" und müssen entsprechend ersetzt werden



Zu Beginn gehen wir in den Download-Ordner (den gibt es bei Ubuntu standardmäßig):

Code:
cd /home/curiosity81/Downloads



Bitcoin Core (vor Synchronisierung)

Und laden Bitcoin Core (https://bitcoin.org/en/download) herunter:

Code:
wget https://bitcoin.org/bin/bitcoin-core-0.15.1/bitcoin-0.15.1-x86_64-linux-gnu.tar.gz

Zusätzlich besorgen wir uns die Signatur von van der Laan:

Code:
wget https://bitcoin.org/laanwj-releases.asc

Wir importieren den Schlüssel:

Code:
gpg --import laanwj-releases.asc

Zu guter Letzt besorgen wir uns die Hashsummen der Dateien:

Code:
wget https://bitcoin.org/bin/bitcoin-core-0.15.1/SHA256SUMS.asc

Nun verifizieren wir Bitcoin Core bevor wir es entpacken:

Code:
gpg --verify SHA256SUMS.asc
sha256sum bitcoin-0.15.1-x86_64-linux-gnu.tar.gz | grep -o 387c2e12c67250892b0814f26a5a38f837ca8ab68c86af517f975a2a2710225b

Die lange Hex-Zahl stammt aus SHA256SUM.asc und entspricht der Hashsumme der runtergeladenen Datei. Wenn grep ein Ergebnis ausgibt, dann ist alles ok. Gibt bestimmt elegantere Lösungen das zu prüfen als meine.

Jetzt entpacken wir Bitcoin Core:

Code:
tar -xzvf bitcoin-0.15.1-x86_64-linux-gnu.tar.gz

Und passen die Bitcoin Konfigurationsdatei an:

Code:
mkdir /home/curiosity81/.bitcoin
nano /home/curiosity81/.bitcoin/bitcoin.conf

Wir füllen die Datei folgendermaßen:

Code:
testnet=1
server=1
rpcuser=<user>
rpcpassword=<password>
txindex=1
zmqpubrawblock=tcp://127.0.0.1:29000
zmqpubrawtx=tcp://127.0.0.1:29000

Die Platzhalter <user> und <password> müssen mit einem entsprechenden Werten ersetzt werden. Wir speichern und verlassen nano mit Strg+X.

Nun können wir Bitcoin Core starten:

Code:
/home/curiosity81/Downloads/bitcoin-0.15.1/bin/bitcoin-qt

Bitcoin Core wird sich nun mit dem Testnetz synchronisieren. Das dauert ein Weilchen, aber nicht solange wie im Hauptnetz. Bei mir waren das ca. 1.5h.



JRE 1.8

Nun müssen wir das Java Runtime Environment von Oracle installieren, damit Eclair auch läuft. Wir gehen also den Weg des geringsten Widerstands. Fragt mich aber nicht zu den Lizenzen und was sich Eclair dabei gedacht hat Oracle zu nutzen. Dies hier ist nur eine Anleitung. Jeder installiert also auf eigene Entscheidung hin dieses Oracle-Produkt.

Wir gehen zu Beginn per Browser (Firefox) auf http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html. Dort wählen wir

jre-8u162-linux-x64.tar.gz

aus, bestätigen das License Agreement und beginnen den Download. Die Datei landet in unserem Download-Ordner. Da Bitcoin Core wahrscheinlich noch synchronisiert so öffenen wir ein neues Terminal und gehen wieder in den Download-Ordner:

Code:
cd /home/curiosity81/Downloads

Dann verifizieren wir die Hashsumme der runtergeladenen Datei. Dazu klicken wir oben auf der Oracle Seite (http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html) bei

JRE 8u162 Checksum

auf "Checksum" und merken uns den sha256-Wert für die entsprechende Datei:

dfa25ebd1f90bf74ad7ba2dacb0e08d884594e733c9a522b58256778031341a4

Jetzt testen wir den Hash:

Code:
sha256sum jre-8u162-linux-x64.tar.gz | grep -o dfa25ebd1f90bf74ad7ba2dacb0e08d884594e733c9a522b58256778031341a4

Wenn alles ok ist so entpacken wir die Datei:

Code:
tar -xzfv jre-8u162-linux-x64.tar.gz

Und installieren java (https://wiki.ubuntuusers.de/Java/Installation/Oracle_Java/Java_8/):

Code:
sudo mkdir /opt/Oracle_Java
sudo cp jre1.8.0_162/ /opt/Oracle_Java/ -R
sudo update-alternatives --install "/usr/bin/java" "java" "/opt/Oracle_Java/jre1.8.0_162/bin/java" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/opt/Oracle_Java/jre1.8.0_162/bin/javaws" 1
sudo update-alternatives --set "java" "/opt/Oracle_Java/jre1.8.0_162/bin/java"
sudo update-alternatives --set "javaws" "/opt/Oracle_Java/jre1.8.0_162/bin/javaws"
java -version

Wenn das letzte Kommando die Version wie folgt ausgibt:

Code:
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

So haben wir auch diesen Schritt bewältigt. Weiter geht's.



Eclair

Wir sind immer noch im Download-Ordner, im zweiten Terminal. Nun besorgen wir uns Eclair (https://github.com/ACINQ/eclair). Wir sind immer noch faul und wollen das nicht selbst kompilieren oder bauen. So werden wir uns mit dem jar begnügen (https://github.com/ACINQ/eclair/releases):

Code:
wget https://github.com/ACINQ/eclair/releases/download/v0.2-alpha8/eclair-node-gui-0.2-alpha8-8edb2a4.jar

Das war es auch schon. Hier gibt es leider nichts zu verifizieren. Wir wollen aber auch nur im Testnetz spielen. Wir müssen also das Risiko eingehen. Wichtig: Damit Eclair korrekt läuft muss Bitcoin Core nebenher laufen! Nach:

Code:
java -jar eclair-node-gui-0.2-alpha8-8edb2a4.jar

Sollte sich dann auch schon was tun, auch wenn das Programm noch nicht konfiguriert ist und deshalb mit Fehlermeldung beendet.



Bitcoin Core (nach Synchronisierung)

In der GUI:

Help -> Debug window -> Console

Dort:

Code:
getnewaddress

Die Adresse, in meinem Fall:

mtDmzMz7NvuRjptrLWwbdVBs4j7Y3eXvCV

merken wir uns. Dann

Code:
addwitnessaddress mtDmzMz7NvuRjptrLWwbdVBs4j7Y3eXvCV

Erzeugt Segwit-Adresse, in meinem Fall:

2MswDJ1kf9aqiC6twrDyUbLqGmtnjtFG4XX

Auch diese merken wir uns.

Nun besorgen wir uns Geld auf:

https://testnet.manu.backend.hamburg/faucet

Indem wir unsere Segwit-Adresse dort angeben. Ich bekam z.B. 1.3 BTC auf 2MswDJ1kf9aqiC6twrDyUbLqGmtnjtFG4XX geschickt Grin. Natürlich dauert es hier ca. 1h bis die Transaktion 6x bestätigt und somit nutzbar ist.



Eclair Konfiguration

Wir gehen zu Beginn wieder in den Download-Order

Code:
cd /home/curiosity81/Downloads

Falls der Konfigurationsordner von Eclair noch nicht existiert so erzeugen wir ihn:

Code:
mkdir /home/curiosity81/.eclair

Dann editieren wir die eclair.conf:

Code:
nano /home/curiosity81/.eclair/eclair.conf

Und füllen die Datei wie folgt:

Code:
eclair.server.port=9735
eclair.node-alias="curiosity81"
eclair.node-color="9716b7"
eclair.bitcoind.rpcuser="<user>"
eclair.bitcoind.rpcpassword="<password>"
eclair.bitcoind.zmq="tcp://127.0.0.1:29000"
eclair.server.public-ips=["xx.xx.xx.xx"]

Für <user> und <password> nutzen wir die Werte, welche wir auch in der bitcoin.conf nutzen. Strg+X speichert die Datei und beendet nano. Damit man später den eigenen Knoten mit den entsprechenden Information auf https://explorer.acinq.co zu sehen bekommt (siehe auch weiter unten), so muss bei eclair.server.public-ips die eigenen IP eingetragen werden. Nur so können sich andere Teilnehmer im Netzwerk mit dem eigenen Knoten verbinden. Wie das abläuft, wenn sich Nachts die ip ändert ... das weiss ich auch nicht. Möglicherweise muss man dann erst den Knoten stoppen, per Skript die Konfiguration entsprechend ändern, und dann den Knoten wieder hochfahren. Das ist aber nur eine Vermutung. Man kann aber, um Testzahlungen durchzuführen, auch "xx.xx.xx.xx" stehen lassen.

Jetzt versuchen wir erneut Eclair zu starten:

Code:
java -jar eclair-node-gui-0.2-alpha8-8edb2a4.jar

Und tada, die Eclair-GUI öffnet sich.  Smiley



Verbindung mit dem Lightning Netzwerk

Wir öffnen im Browser folgende Adresse:

https://explorer.acinq.co

Und suchen uns dort einen Knoten im rechten Scrolldownmenü aus (also nicht in der Karte sondern rechts davon) mit welchem wir uns verbinden können. Wenn man einen Knoten anklickt, dann sieht man weitere Infos wie Alias, Publickey und IP. Für den Anfang begnügen wir uns mit den Knoten, welche eine IP anzeigen. Ich habe mir einen Knoten rausgesucht, der den Alias "pikefloyd" hat. Dessen Daten sind wie folgt, werden sich aber wohl mit der Zeit ändern oder der Knoten verschwindet ganz, seid also flexibel:

Code:
Alias:         pikefloyd
Publickey:     03c4b20397d476a0d008e61022c96803ada3c11918fff8133db4f7d27273710e03
IP und Port:   81.149.149.156:9735

Daraus bauen wir uns folgende ID aus dem Publickey, IP und Port zusammen:

Code:
03c4b20397d476a0d008e61022c96803ada3c11918fff8133db4f7d27273710e03@81.149.149.156:9735

In der Eclair-GUI wählen wir: Channels -> Open channel ...

Dort, bei "Target Node URI", kopieren wir obere ID rein. Zusätzlich klicken wir noch "Simple connection (no channel)" an und drücken "Connect". Nach etwas warten sollte sich die GUI mit Infos zu Channels und Nodes füllen. Wenn ihr eure Bitcoin Core Testnetzwallet wie oben beschrieben mit Faucetcoins gefüllt habt so sind nun auch sicherlich Payment-Channels möglich.



Öffnen eines Payment-Channels

Wie im vorherigen Schritt suchen wir uns einen Knoten im Lightning Netzwerk aus und geben die ID bei "Target Node URI" ein. Heute habe ich mir einen anderen Knoten ausgesucht. Diesmal klicken wir aber NICHT "Simple connection (no channel)" an! Zusätzlich wählen wir eine Bitcoin Betrag aus und geben diesen im Feld "Capacity" ein. Der Betrag muss natürlich kleiner/gleich dem Betrag auf eurer Bitcoin Core Testwallet sein. Ich habe dort mal 100 milliBTC eingegeben. Dann auf "Connect" drücken. Sofort sollte in Bitcoin Core die Meldung einer Transaktion von 0.1 BTC + Transaktiongebühr aufpoppen. Ihr habt also nun 2 Transaktionen in eurer Testwallet. Eine Eingehende von der Faucet und eine Ausgehende um den Channel zu öffnen. Nach dem Drücken von "Connect" handelt Eclair mit dem Channel-Partner etwas aus. Dann sollte in Eclair, bei den "Local Channels" bei "STATE" stehen:

Code:
WAIT_FOR_FUNDING_CONFIRMED

Jetzt heisst es etwa eine halbe Stunde zu warten, also 3 Bitcoin-Bestätigungen bis der Channel geöffnet ist. Bei Eclair scheinen nämlich 3 Bestätigungen auszureichen. Solange ist auch euer Knoten noch nicht sichtbar, siehe auch https://explorer.acinq.co/#/faq. Dann sollte in Eclair, bei den "Local Channels" bei "STATE" stehen

Code:
NORMAL

Sehen kann ich meinen Knoten auch nach 6 Bestätigungen nicht, liegt wahrscheinlich an den geschlossenen Ports. Ansonsten hat bisher alles fehlerfrei funktioniert.



Mit Lightning Netzwerk bezahlen

Wenn ich mich richtig entsinne, muss einer von den Beiden, der Bezahlende oder der Zubezahlende, dem anderen ein Geheimnis direkt, also nicht über das Lightning Netzwerk, schicken. Fragt mich jetzt nicht wie das genau geht, das war irgendwas mit einer Zufallszahl und deren Hash, welche/r dann durch das Netzwerk propagiert wird und ich habe die Details vergessen (ungefähr bei 9:00 in https://www.youtube.com/watch?v=wIhAmTqXhZQ). D.h. also, dass es sowas wie öffentliche Adressen in einer Blockchain nicht mehr gibt, der Zubezahlende muss einen Zahlungsaufruf generieren, den er dann dem Bezahlenden zu kommen lässt (https://medium.com/@btc_coach/lightning-network-in-action-b18a035c955d). So mein momentanes Verständnis. Ich könnte aber auch falsch liegen. Also korrigiert mich wenn nötig.

Um einen Zahlungsaufruf zu erzeugen geht man in Eclair wie folgt vor: Channels -> Receive Payment. Dort bei "Optional amount to receive" gibt man einen validen Betrag ein (oder auch nicht, ist ja optional) und drückt auf "Generate". Das Ergebnis muss man wohl seinem Gegenüber zukommen lassen.

Hier kann man wohl Phantasiekaffee kaufen:

https://starblocks.acinq.co

 Grin Grin Grin



Port forwarding und Ähnliches

Gefunden habe ich auf https://explorer.acinq.co/#/faq folgendes dazu, siehe den letzten Punkt:

Quote
I cannot connect to a node listed in the explorer.

Connection can fail due to one of the following reasons:

    The node is currently offline right now (any channels it might have are temporarily unavailable but stay open).
    The node does not announce a public IP.
    The public IP announced by the node is not accurate.
    The node is not reachable (misconfiguration in port forwarding, firewall...).
    ...

Bis jetzt hat alles ohne Portforwarding funktioniert. Und raustelefonieren d.h. schlichtes Bezahlen wird auch immer so funktionieren, auch mit geschlossenem Port 9735. Wenn aber euer Port 9735 geschlossen ist und die entsprechenden Pakete nicht an den entsprechenden Computer weitergeleitet werden (Portforwarding), dann bekommt derjenige, der sich mit euch verbinden will, eine Fehlermeldung, obwohl euer Knote wie ein ganz normaler aussieht. Aktuell kann man nämlich nicht unterscheiden, welche Knoten einen offenen Port 9735 haben und bei welchen dieser geschlossen ist. D.h. es wird passieren, dass auch ihr euch mit manchen Knoten nicht verbinden könnt, da diese Port 9735 geschlossen haben. Also nochmal:

Damit sich jemand mit eurem Knoten verbinden kann muss Port 9735 geöffnet sein!

Oder anders ausgedrückt, wenn alle nur anrufen und keiner abnimmt, dann ist das Telefonnetz nutzlos! Soll heissen, wenn alle ihren Port 9735 schliessen, dann gibt es schlicht kein Lightning Netzwerk. Wenn nur ein paar Knoten Port 9735 offen haben, dann ergibt das ein zentralisiertes Netzwerk, weil dann alle anderen sich mit diesen Knoten verbinden müssen. Und am besten wäre es, wenn alle Port 9735 geöffnet haben.

http://ckpool.org "THE Pool" from the creator of CGMiner & CKPool / Payout System:SPLNS / ZERO FEE!
------------------------------------------- join now -----------------------------------------------
http://solo.ckpool.org for Solominers with the best block notify system
brishniz
Newbie
*
Offline Offline

Activity: 4
Merit: 1


View Profile
February 09, 2018, 06:16:34 PM
Merited by trantute2 (1)
 #65

Hallo,

ich probiere mich gerade im Lightning Netzwerk aus und will das hier dokumentieren. Auch, weil es zum LN nichts online gibt was selbst für erfahrene Computernutzer ohne Weiteres zu bewältigen wäre. Wenn schon die Installation von Eclair kaum hinzubekommen ist, dann ist vollkommen klar, dass das LN nicht aus den Puschen kommt. Deshalb diese Anleitung um die Einstiegshürden zu überwinden. Diesen Text werde ich nach und nach erweitern. Mein Ausganspunkt ist hierbei dieser Beitrag:

https://medium.com/@ajs1287/setting-up-bitcoin-lightning-network-node-on-macos-is-peanuts-eclair-5afbef553d71

D.h., wenn ich mit meiner Anleitung noch nicht fertig bin und ihr weiterspielen wollt, dann halten euch an obigen Beitrag.



Sonstige Referenzen

Lightning Network Megathread:

https://www.reddit.com/r/Bitcoin/comments/7pwna9/lightning_network_megathread/

Frage zu Eclair lassen sich mit Github-Account am besten hier beantworten:

https://gitte[Suspicious link removed]/ACINQ/eclair



Voraussetzungen

  • Ein Rechner mit genug Leistung und 64bit, läuft natürlich analog auch für ein 32bit System, sind dann aber andere Dateien
  • Ubuntu 16.04 LTS (http://de.releases.ubuntu.com/16.04.3/), geht aber bestimmt auch mit einer anderen Version
  • Der Rechner sollte eigenständig, Betriebssystem frisch installiert und getrennt von wichtigen Daten sein
  • Erfahrung mit Linux, Netzwerk etc. pp.
  • Eine zügige Netzwerkverbindung
  • Etwa 2h Zeit da mindestens 2 Bitcoin Transaktionen durchgeführt werden
  • Der Nutzer hier ist "curiosity81", der muss entsprechend angepasst werden
  • Platzhalter sind z.B. "<Passwort>" und müssen entsprechend ersetzt werden



Zu Beginn gehen wir in den Download-Ordner (den gibt es bei Ubuntu standardmäßig):

Code:
cd /home/curiosity81/Downloads



Bitcoin Core (vor Synchronisierung)

Und laden Bitcoin Core (https://bitcoin.org/en/download) herunter:

Code:
wget https://bitcoin.org/bin/bitcoin-core-0.15.1/bitcoin-0.15.1-x86_64-linux-gnu.tar.gz

Zusätzlich besorgen wir uns die Signatur von van der Laan:

Code:
wget https://bitcoin.org/laanwj-releases.asc

Wir importieren den Schlüssel:

Code:
gpg --import laanwj-releases.asc

Zu guter Letzt besorgen wir uns die Hashsummen der Dateien:

Code:
wget https://bitcoin.org/bin/bitcoin-core-0.15.1/SHA256SUMS.asc

Nun verifizieren wir Bitcoin Core bevor wir es entpacken:

Code:
gpg --verify SHA256SUMS.asc
sha256sum bitcoin-0.15.1-x86_64-linux-gnu.tar.gz | grep -o 387c2e12c67250892b0814f26a5a38f837ca8ab68c86af517f975a2a2710225b

Die lange Hex-Zahl stammt aus SHA256SUM.asc und entspricht der Hashsumme der runtergeladenen Datei. Wenn grep ein Ergebnis ausgibt, dann ist alles ok. Gibt bestimmt elegantere Lösungen das zu prüfen als meine.

Jetzt entpacken wir Bitcoin Core:

Code:
tar -xzvf bitcoin-0.15.1-x86_64-linux-gnu.tar.gz

Und passen die Bitcoin Konfigurationsdatei an:

Code:
mkdir /home/curiosity81/.bitcoin
nano /home/curiosity81/.bitcoin/bitcoin.conf

Wir füllen die Datei folgendermaßen:

Code:
testnet=1
server=1
rpcuser=<user>
rpcpassword=<password>
txindex=1
zmqpubrawblock=tcp://127.0.0.1:29000
zmqpubrawtx=tcp://127.0.0.1:29000

Die Platzhalter <user> und <password> müssen mit einem entsprechenden Werten ersetzt werden. Wir speichern und verlassen nano mit Strg+X.

Nun können wir Bitcoin Core starten:

Code:
/home/curiosity81/Downloads/bitcoin-0.15.1/bin/bitcoin-qt

Bitcoin Core wird sich nun mit dem Testnetz synchronisieren. Das dauert ein Weilchen, aber nicht solange wie im Hauptnetz. Bei mir waren das ca. 1.5h.



JRE 1.8

Nun müssen wir das Java Runtime Environment von Oracle installieren, damit Eclair auch läuft. Wir gehen also den Weg des geringsten Widerstands. Fragt mich aber nicht zu den Lizenzen und was sich Eclair dabei gedacht hat Oracle zu nutzen. Dies hier ist nur eine Anleitung. Jeder installiert also auf eigene Entscheidung hin dieses Oracle-Produkt.

Wir gehen zu Beginn per Browser (Firefox) auf http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html. Dort wählen wir

jre-8u162-linux-x64.tar.gz

aus, bestätigen das License Agreement und beginnen den Download. Die Datei landet in unserem Download-Ordner. Da Bitcoin Core wahrscheinlich noch synchronisiert so öffenen wir ein neues Terminal und gehen wieder in den Download-Ordner:

Code:
cd /home/curiosity81/Downloads

Dann verifizieren wir die Hashsumme der runtergeladenen Datei. Dazu klicken wir oben auf der Oracle Seite (http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html) bei

JRE 8u162 Checksum

auf "Checksum" und merken uns den sha256-Wert für die entsprechende Datei:

dfa25ebd1f90bf74ad7ba2dacb0e08d884594e733c9a522b58256778031341a4

Jetzt testen wir den Hash:

Code:
sha256sum jre-8u162-linux-x64.tar.gz | grep -o dfa25ebd1f90bf74ad7ba2dacb0e08d884594e733c9a522b58256778031341a4

Wenn alles ok ist so entpacken wir die Datei:

Code:
tar -xzfv jre-8u162-linux-x64.tar.gz

Und installieren java (https://wiki.ubuntuusers.de/Java/Installation/Oracle_Java/Java_8/):

Code:
sudo mkdir /opt/Oracle_Java
sudo cp jre1.8.0_162/ /opt/Oracle_Java/ -R
sudo update-alternatives --install "/usr/bin/java" "java" "/opt/Oracle_Java/jre1.8.0_162/bin/java" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/opt/Oracle_Java/jre1.8.0_162/bin/javaws" 1
sudo update-alternatives --set "java" "/opt/Oracle_Java/jre1.8.0_162/bin/java"
sudo update-alternatives --set "javaws" "/opt/Oracle_Java/jre1.8.0_162/bin/javaws"
java -version

Wenn das letzte Kommando die Version wie folgt ausgibt:

Code:
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

So haben wir auch diesen Schritt bewältigt. Weiter geht's.



Eclair

Wir sind immer noch im Download-Ordner, im zweiten Terminal. Nun besorgen wir uns Eclair (https://github.com/ACINQ/eclair). Wir sind immer noch faul und wollen das nicht selbst kompilieren oder bauen. So werden wir uns mit dem jar begnügen (https://github.com/ACINQ/eclair/releases):

Code:
wget https://github.com/ACINQ/eclair/releases/download/v0.2-alpha8/eclair-node-gui-0.2-alpha8-8edb2a4.jar

Das war es auch schon. Hier gibt es leider nichts zu verifizieren. Wir wollen aber auch nur im Testnetz spielen. Wir müssen also das Risiko eingehen. Wichtig: Damit Eclair korrekt läuft muss Bitcoin Core nebenher laufen! Nach:

Code:
java -jar eclair-node-gui-0.2-alpha8-8edb2a4.jar

Sollte sich dann auch schon was tun, auch wenn das Programm noch nicht konfiguriert ist und deshalb mit Fehlermeldung beendet.



Bitcoin Core (nach Synchronisierung)

In der GUI:

Help -> Debug window -> Console

Dort:

Code:
getnewaddress

Die Adresse, in meinem Fall:

mtDmzMz7NvuRjptrLWwbdVBs4j7Y3eXvCV

merken wir uns. Dann

Code:
addwitnessaddress mtDmzMz7NvuRjptrLWwbdVBs4j7Y3eXvCV

Erzeugt Segwit-Adresse, in meinem Fall:

2MswDJ1kf9aqiC6twrDyUbLqGmtnjtFG4XX

Auch diese merken wir uns.

Nun besorgen wir uns Geld auf:

https://testnet.manu.backend.hamburg/faucet

Indem wir unsere Segwit-Adresse dort angeben. Ich bekam z.B. 1.3 BTC auf 2MswDJ1kf9aqiC6twrDyUbLqGmtnjtFG4XX geschickt Grin. Natürlich dauert es hier ca. 1h bis die Transaktion 6x bestätigt und somit nutzbar ist.



Eclair Konfiguration

Wir gehen zu Beginn wieder in den Download-Order

Code:
cd /home/curiosity81/Downloads

Falls der Konfigurationsordner von Eclair noch nicht existiert so erzeugen wir ihn:

Code:
mkdir /home/curiosity81/.eclair

Dann editieren wir die eclair.conf:

Code:
nano /home/curiosity81/.eclair/eclair.conf

Und füllen die Datei wie folgt:

Code:
eclair.server.port=9735
eclair.node-alias="curiosity81"
eclair.node-color="9716b7"
eclair.bitcoind.rpcuser="<user>"
eclair.bitcoind.rpcpassword="<password>"
eclair.bitcoind.zmq="tcp://127.0.0.1:29000"
eclair.server.public-ips=["xx.xx.xx.xx"]

Für <user> und <password> nutzen wir die Werte, welche wir auch in der bitcoin.conf nutzen. Strg+X speichert die Datei und beendet nano. Damit man später den eigenen Knoten mit den entsprechenden Information auf https://explorer.acinq.co zu sehen bekommt (siehe auch weiter unten), so muss bei eclair.server.public-ips die eigenen IP eingetragen werden. Nur so können sich andere Teilnehmer im Netzwerk mit dem eigenen Knoten verbinden. Wie das abläuft, wenn sich Nachts die ip ändert ... das weiss ich auch nicht. Möglicherweise muss man dann erst den Knoten stoppen, per Skript die Konfiguration entsprechend ändern, und dann den Knoten wieder hochfahren. Das ist aber nur eine Vermutung. Man kann aber, um Testzahlungen durchzuführen, auch "xx.xx.xx.xx" stehen lassen.

Jetzt versuchen wir erneut Eclair zu starten:

Code:
java -jar eclair-node-gui-0.2-alpha8-8edb2a4.jar

Und tada, die Eclair-GUI öffnet sich.  Smiley



Verbindung mit dem Lightning Netzwerk

Wir öffnen im Browser folgende Adresse:

https://explorer.acinq.co

Und suchen uns dort einen Knoten im rechten Scrolldownmenü aus (also nicht in der Karte sondern rechts davon) mit welchem wir uns verbinden können. Wenn man einen Knoten anklickt, dann sieht man weitere Infos wie Alias, Publickey und IP. Für den Anfang begnügen wir uns mit den Knoten, welche eine IP anzeigen. Ich habe mir einen Knoten rausgesucht, der den Alias "pikefloyd" hat. Dessen Daten sind wie folgt, werden sich aber wohl mit der Zeit ändern oder der Knoten verschwindet ganz, seid also flexibel:

Code:
Alias:         pikefloyd
Publickey:     03c4b20397d476a0d008e61022c96803ada3c11918fff8133db4f7d27273710e03
IP und Port:   81.149.149.156:9735

Daraus bauen wir uns folgende ID aus dem Publickey, IP und Port zusammen:

Code:
03c4b20397d476a0d008e61022c96803ada3c11918fff8133db4f7d27273710e03@81.149.149.156:9735

In der Eclair-GUI wählen wir: Channels -> Open channel ...

Dort, bei "Target Node URI", kopieren wir obere ID rein. Zusätzlich klicken wir noch "Simple connection (no channel)" an und drücken "Connect". Nach etwas warten sollte sich die GUI mit Infos zu Channels und Nodes füllen. Wenn ihr eure Bitcoin Core Testnetzwallet wie oben beschrieben mit Faucetcoins gefüllt habt so sind nun auch sicherlich Payment-Channels möglich.



Öffnen eines Payment-Channels

Wie im vorherigen Schritt suchen wir uns einen Knoten im Lightning Netzwerk aus und geben die ID bei "Target Node URI" ein. Heute habe ich mir einen anderen Knoten ausgesucht. Diesmal klicken wir aber NICHT "Simple connection (no channel)" an! Zusätzlich wählen wir eine Bitcoin Betrag aus und geben diesen im Feld "Capacity" ein. Der Betrag muss natürlich kleiner/gleich dem Betrag auf eurer Bitcoin Core Testwallet sein. Ich habe dort mal 100 milliBTC eingegeben. Dann auf "Connect" drücken. Sofort sollte in Bitcoin Core die Meldung einer Transaktion von 0.1 BTC + Transaktiongebühr aufpoppen. Ihr habt also nun 2 Transaktionen in eurer Testwallet. Eine Eingehende von der Faucet und eine Ausgehende um den Channel zu öffnen. Nach dem Drücken von "Connect" handelt Eclair mit dem Channel-Partner etwas aus. Dann sollte in Eclair, bei den "Local Channels" bei "STATE" stehen:

Code:
WAIT_FOR_FUNDING_CONFIRMED

Jetzt heisst es etwa eine halbe Stunde zu warten, also 3 Bitcoin-Bestätigungen bis der Channel geöffnet ist. Bei Eclair scheinen nämlich 3 Bestätigungen auszureichen. Solange ist auch euer Knoten noch nicht sichtbar, siehe auch https://explorer.acinq.co/#/faq. Dann sollte in Eclair, bei den "Local Channels" bei "STATE" stehen

Code:
NORMAL

Sehen kann ich meinen Knoten auch nach 6 Bestätigungen nicht, liegt wahrscheinlich an den geschlossenen Ports. Ansonsten hat bisher alles fehlerfrei funktioniert.



Mit Lightning Netzwerk bezahlen

Wenn ich mich richtig entsinne, muss einer von den Beiden, der Bezahlende oder der Zubezahlende, dem anderen ein Geheimnis direkt, also nicht über das Lightning Netzwerk, schicken. Fragt mich jetzt nicht wie das genau geht, das war irgendwas mit einer Zufallszahl und deren Hash, welche/r dann durch das Netzwerk propagiert wird und ich habe die Details vergessen (ungefähr bei 9:00 in https://www.youtube.com/watch?v=wIhAmTqXhZQ). D.h. also, dass es sowas wie öffentliche Adressen in einer Blockchain nicht mehr gibt, der Zubezahlende muss einen Zahlungsaufruf generieren, den er dann dem Bezahlenden zu kommen lässt (https://medium.com/@btc_coach/lightning-network-in-action-b18a035c955d). So mein momentanes Verständnis. Ich könnte aber auch falsch liegen. Also korrigiert mich wenn nötig.

Um einen Zahlungsaufruf zu erzeugen geht man in Eclair wie folgt vor: Channels -> Receive Payment. Dort bei "Optional amount to receive" gibt man einen validen Betrag ein (oder auch nicht, ist ja optional) und drückt auf "Generate". Das Ergebnis muss man wohl seinem Gegenüber zukommen lassen.

Hier kann man wohl Phantasiekaffee kaufen:

https://starblocks.acinq.co

 Grin Grin Grin



Port forwarding und Ähnliches

Gefunden habe ich auf https://explorer.acinq.co/#/faq folgendes dazu, siehe den letzten Punkt:

Quote
I cannot connect to a node listed in the explorer.

Connection can fail due to one of the following reasons:

    The node is currently offline right now (any channels it might have are temporarily unavailable but stay open).
    The node does not announce a public IP.
    The public IP announced by the node is not accurate.
    The node is not reachable (misconfiguration in port forwarding, firewall...).
    ...

Bis jetzt hat alles ohne Portforwarding funktioniert. Und raustelefonieren d.h. schlichtes Bezahlen wird auch immer so funktionieren, auch mit geschlossenem Port 9735. Wenn aber euer Port 9735 geschlossen ist und die entsprechenden Pakete nicht an den entsprechenden Computer weitergeleitet werden (Portforwarding), dann bekommt derjenige, der sich mit euch verbinden will, eine Fehlermeldung, obwohl euer Knote wie ein ganz normaler aussieht. Aktuell kann man nämlich nicht unterscheiden, welche Knoten einen offenen Port 9735 haben und bei welchen dieser geschlossen ist. D.h. es wird passieren, dass auch ihr euch mit manchen Knoten nicht verbinden könnt, da diese Port 9735 geschlossen haben. Also nochmal:

Damit sich jemand mit eurem Knoten verbinden kann muss Port 9735 geöffnet sein!

Oder anders ausgedrückt, wenn alle nur anrufen und keiner abnimmt, dann ist das Telefonnetz nutzlos! Soll heissen, wenn alle ihren Port 9735 schliessen, dann gibt es schlicht kein Lightning Netzwerk. Wenn nur ein paar Knoten Port 9735 offen haben, dann ergibt das ein zentralisiertes Netzwerk, weil dann alle anderen sich mit diesen Knoten verbinden müssen. Und am besten wäre es, wenn alle Port 9735 geöffnet haben.

Viel Erfolg!
brishniz
Newbie
*
Offline Offline

Activity: 4
Merit: 1


View Profile
February 15, 2018, 02:24:05 PM
 #66

Ich führ das mal weiter:

Anzahl Knoten im Mainnet: 702
Anzahl Channels im Mainnet: 1847
d5000
Legendary
*
Offline Offline

Activity: 2212
Merit: 1552


Decentralization Maximalist


View Profile
March 02, 2018, 10:34:24 PM
 #67

Ich bin jetzt endlich mal dazu gekommen Eclair auszuprobieren.

Die gute Nachricht: Eclair scheint auch mit OpenJDK zu funktionieren, solange man auch OpenJFX installiert. Zumindest geht die GUI auf (auf der Kommandozeile scheinen aber einige Fehlermeldungen aufzupoppen) und nach einer erfolgreichen Connection füllen sich die Tabellen mit Nodes.

Wo ich noch hänge ist beim Aufbauen eines Payment-Channels. Ich erhalte bei fast allen Knoten Fehlermeldungen ("Connection failed"). Bei einem (der viele Verbindungen zu anderen Nodes hatte, also einem kleinen Hub) hatte es geklappt, und ein Channel wurde kurz aufgebaut. Danach wurde er allerdings schnell wieder geschlossen.

Kann es sein, dass man sich zu Knoten verbinden müsste, die freundlich gegenüber neuen Usern eingestellt sind, d.h. Payment-Channels mit jedem erlauben? Kann man die irgendwie von den "unfreundlichen" Nodes unterscheiden bzw. gibt es da eine Liste? Oder liegt das eventuell an Portforwarding-Problemen dieser Nodes, wie sie im letzten Abschnitt des Tutorials beschrieben wurden?

trantute2
Sr. Member
****
Offline Offline

Activity: 504
Merit: 336



View Profile
March 04, 2018, 10:36:37 AM
 #68

Ich bin jetzt endlich mal dazu gekommen Eclair auszuprobieren.

Die gute Nachricht: Eclair scheint auch mit OpenJDK zu funktionieren, solange man auch OpenJFX installiert. Zumindest geht die GUI auf (auf der Kommandozeile scheinen aber einige Fehlermeldungen aufzupoppen) und nach einer erfolgreichen Connection füllen sich die Tabellen mit Nodes.

Sehr schön. Kannst Du das näher erläutern wie Du OpenJDK mit OpenJFX zum laufen bekommen hast. Ich habe nach etwas rumprobieren die Lust verloren und dann die proprietäre Lösung gewählt.

Wo ich noch hänge ist beim Aufbauen eines Payment-Channels. Ich erhalte bei fast allen Knoten Fehlermeldungen ("Connection failed"). Bei einem (der viele Verbindungen zu anderen Nodes hatte, also einem kleinen Hub) hatte es geklappt, und ein Channel wurde kurz aufgebaut. Danach wurde er allerdings schnell wieder geschlossen.

Ich denke, dass sind Knoten die gerade nicht laufen. Meiner ist auch abgeschaltet wird aber immer noch angezeigt. Wahrscheinlich besteht das Testnetz zum grossen Teil auch aus Knotenleichen.

Kann es sein, dass man sich zu Knoten verbinden müsste, die freundlich gegenüber neuen Usern eingestellt sind, d.h. Payment-Channels mit jedem erlauben? Kann man die irgendwie von den "unfreundlichen" Nodes unterscheiden bzw. gibt es da eine Liste? Oder liegt das eventuell an Portforwarding-Problemen dieser Nodes, wie sie im letzten Abschnitt des Tutorials beschrieben wurden?

Siehe oben. Und ja möglich auch, dass der entsprechende Port geschlossen ist. Dieser Knoten selbst kann aber wohl nach draussen "telefonieren".

Das Problem mit der Erkennung der "freundlichen" und "unfreundlichen" Knoten habe ich schon mal bei Eclair angesprochen:

https://github.com/ACINQ/eclair/issues/426
d5000
Legendary
*
Offline Offline

Activity: 2212
Merit: 1552


Decentralization Maximalist


View Profile
March 04, 2018, 05:06:40 PM
Last edit: March 16, 2018, 05:15:46 AM by d5000
 #69

Sehr schön. Kannst Du das näher erläutern wie Du OpenJDK mit OpenJFX zum laufen bekommen hast. Ich habe nach etwas rumprobieren die Lust verloren und dann die proprietäre Lösung gewählt.

Ging komischerweise ganz einfach - Pakete mit apt-get installieren und fertig. Ich benutze Debian Stretch, und die dortigen OpenJDK- und OpenJFX-Pakete scheinen "genau die richtigen zu sein", jedenfalls sehe ich nur, dass die Kommandozeile etwas meckert, aber sonst öffnet sich die GUI prima. Meine Versionen:

Code:
$ dpkg -l | grep -E "openjdk|openjfx"
ii  libopenjfx-java                        8u141-b14-3~deb9u1                all          JavaFX/OpenJFX 8 - Rich client application platform for Java (Java libraries)
ii  libopenjfx-jni                         8u141-b14-3~deb9u1                amd64        JavaFX/OpenJFX 8 - Rich client application platform for Java (native libraries)
ii  openjdk-8-jre:amd64                    8u151-b12-1~deb9u1                amd64        OpenJDK Java runtime, using Hotspot JIT
ii  openjdk-8-jre-headless:amd64           8u151-b12-1~deb9u1                amd64        OpenJDK Java runtime, using Hotspot JIT (headless)
ii  openjfx                                8u141-b14-3~deb9u1                amd64        JavaFX/OpenJFX 8 - Rich client application platform for Java

Ich denke, dass sind Knoten die gerade nicht laufen. Meiner ist auch abgeschaltet wird aber immer noch angezeigt. Wahrscheinlich besteht das Testnetz zum grossen Teil auch aus Knotenleichen.

Aha, danke! Hab sowas auch vermutet, aber dass es so viele "Leichen" sind hat mich doch erstaunt ...

Das Problem mit der Erkennung der "freundlichen" und "unfreundlichen" Knoten habe ich schon mal bei Eclair angesprochen:

https://github.com/ACINQ/eclair/issues/426
Prima, werde das später noch mal durchlesen, hab den Zusammenhang auf den ersten Blick nicht ganz kapiert und gerade nicht so viel Zeit.

BTW: Hab jetzt gerade die eigenartige Zitatesammlung oben gesehen. Bist du curiosity81 und wurdest gehackt? Hab das garnicht mitbekommen. Bringt es was wenn ich dich auch noch zitiere?

trantute2
Sr. Member
****
Offline Offline

Activity: 504
Merit: 336



View Profile
March 07, 2018, 08:38:11 PM
 #70

Prima, werde das später noch mal durchlesen, hab den Zusammenhang auf den ersten Blick nicht ganz kapiert und gerade nicht so viel Zeit.

Joa, so wirklich sind die Leute von Eclair auch nicht auf das Problem eingegangen. Wollte damit nur sagen, dass Du nicht der einzige bist, der dieses Problem sieht. Oder wir machen irgendwas falsch.

BTW: Hab jetzt gerade die eigenartige Zitatesammlung oben gesehen. Bist du curiosity81 und wurdest gehackt? Hab das garnicht mitbekommen. Bringt es was wenn ich dich auch noch zitiere?

Naja, der Begriff "gehackt" verkennt ein bisschen die Realität. Es war schlicht meine eigene Blödheit.

Mehr oder weniger verifiziert habe ich mich hier:

https://bitcointalk.org/index.php?topic=2908813.0

Das muss leider als Beweis reichen.
blue-check
Member
**
Offline Offline

Activity: 116
Merit: 18


View Profile WWW
March 15, 2018, 03:52:21 PM
 #71

Danke für den Interessanten Beitrag. Leider hab ich aktuell keine Hardware frei aber werde es in Naher Zukunft auch versuchen zum laufen zu bringen.

DeepOnion    ▬▬  Anonymous and Untraceable  ▬▬    ENJOY YOUR PRIVACY  •  JOIN DEEPONION
▐▐▐▐▐▐▐▐   ANN  Whitepaper  Facebook  Twitter  Telegram  Discord   ▌▌▌▌▌▌▌▌
Get $ONION  (✔Cryptopia  ✔KuCoin)  |  VoteCentral  Register NOW!  |  Download DeepOnion
trantute2
Sr. Member
****
Offline Offline

Activity: 504
Merit: 336



View Profile
March 17, 2018, 10:10:52 AM
 #72

Lightning Network beta fürs Mainnet veröffentlicht:

https://blog.lightning.engineering/announcement/2018/03/15/lnd-beta.html
https://cryptoslate.com/bitcoin-lightning-network-beta-now-live/

Quote
This release is also the first release of lnd that has the option to run on Bitcoin’s mainnet, with the safety, security, and reliability features necessary for real-world, real money usage.

Aktuelle Entwicklung des LN-Mainnet:

https://p2sh.info/dashboard/db/lightning-network
trantute2
Sr. Member
****
Offline Offline

Activity: 504
Merit: 336



View Profile
March 18, 2018, 11:01:23 AM
 #73

Weitere News zum Thema:

https://coincierge.de/2018/bitcoin-lightning-beta-was-aendert-sich/
nasenbart
Sr. Member
****
Offline Offline

Activity: 313
Merit: 255


View Profile
April 06, 2018, 05:58:06 PM
 #74

Eclair Wallet für Android.

https://play.google.com/store/apps/details?id=fr.acinq.eclair.wallet
weaknesswaran
Hero Member
*****
Offline Offline

Activity: 957
Merit: 507


View Profile
April 08, 2018, 02:39:01 PM
 #75


Interessant finde ich den Ansatz mit nur ausgehenden Transaktionen, womit sich ein ausrauben nicht lohnt.
trantute2
Sr. Member
****
Offline Offline

Activity: 504
Merit: 336



View Profile
April 08, 2018, 03:17:19 PM
 #76


Interessant finde ich den Ansatz mit nur ausgehenden Transaktionen, womit sich ein ausrauben nicht lohnt.

Genauso ist es. Warum das so ist, habe ich hier nochmal erklärt:

https://bitcointalk.org/index.php?topic=2705677.msg34138195#msg34138195

Und mit Kreditkarten macht man auch nichts anderes als zu bezahlen. Im Extremfall ist dies das Ende der Kreditkartenunternehmen.
Gyrsur
Legendary
*
Offline Offline

Activity: 2254
Merit: 1154



View Profile WWW
July 27, 2018, 02:46:01 PM
Last edit: July 28, 2018, 01:38:44 AM by Gyrsur
 #77

ein real life erfahrungbericht - er betrieb den "grössten" LN hub (ca. 40 BTC) bisher:

https://medium.com/andreas-tries-blockchain/bitcoin-lightning-network-1-can-i-compile-and-run-a-node-cd3138c68c15

https://medium.com/andreas-tries-blockchain/bitcoin-lightning-network-2-we-must-first-become-the-lightning-network-49c46953c1d7

https://medium.com/andreas-tries-blockchain/bitcoin-lightning-network-3-paying-for-goods-and-services-5d9c492b0eb2

https://medium.com/andreas-tries-blockchain/bitcoin-lightning-network-4-what-happens-when-you-close-half-of-the-lightning-network-b25b330dfad2
Thiagosanto
Member
**
Offline Offline

Activity: 91
Merit: 10


View Profile
August 10, 2018, 08:04:46 AM
 #78

Frage: kann ich über die mobile App Lightning-Zahlungen durchführen, um einen Onlineanbieter zu bezahlen?

Ich hatte die App installiert, aber es wurde verlangt, dass ich mich mit einem Node verbinde!? Per "random"-Funktion ging es nicht, da noch nicht unterstützt und als ich manuell ein Node anfügen wollte, habe ich gemerkt, dass man einen bestimmten Betrag an btc investieren muss? Allerdings war dieser Betrag unverhältnismäßig hoch im Vergleich zu meiner angestrebten Zahlung.
d5000
Legendary
*
Offline Offline

Activity: 2212
Merit: 1552


Decentralization Maximalist


View Profile
September 03, 2018, 04:37:58 AM
Merited by trantute2 (1)
 #79

Ich bumpe mal, vielleicht wird @Thiagosantos Frage beantwortet (ich kann es leider nicht).

Hab mir jetzt mit Hilfe aus dem englischen Forum Neutrino installiert. Das ist ein Lightclient, der keine vollständige Blockchain benötigt, aber bisher nur mit dem Testnet funktioniert. Dennoch, um etwas damit rumzuspielen sicher ganz cool, und sicher "die Zukunft" was Mass Adoption angeht.

Neutrino ist im Lightning-Client LND (Installationsanleitung) integriert. Also theoretisch einfach LND, wie im Link genannt, installieren und dann im Neutrino-Modus starten:

Code:
lnd --bitcoin.active --bitcoin.testnet --debuglevel=debug --bitcoin.node=neutrino --neutrino.connect=faucet.lightning.community

Mit lncli (--help um Optionen zu sehen) kann der Client gesteuert werden. Ich bin noch ganz am Anfang, finde leider keine Peers (vielleicht ist der Faucet offline und ich brauch was anderes). Werde aber in den nächsten Tagen/Wochen hoffentlich ein paar Erfolgserlebnisse hier berichten können. Wink

Gyrsur
Legendary
*
Offline Offline

Activity: 2254
Merit: 1154



View Profile WWW
September 03, 2018, 01:43:56 PM
 #80

bauanleitung für ne node:

https://github.com/rootzoll/raspiblitz
Pages: « 1 2 3 [4]  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!