Jump to content

Raspberry Pi als BTC / Lightning Full Node


 Share

Recommended Posts

kleiner Zwischenbericht...

nach einigen Schwierigkeiten und verloren geglaubten Channels beim Update auf Version 0.4.1, läuft nun alles wieder geschmeidig ?

heißer Tip von mir! Compiliert euch ein aktuelle Version aus dem Repository, meine verloren geglaubten Channels habe ich nur mit einer sehr aktuellen Version von LND "retten" bzw. closen können. die Version aus dem binary hat das nicht geschafft...

Ach habe ich glaube ich noch nicht geschrieben, mein Node heißt:

@leblitzdick

Wer zu mir einen Channel aufbauen möchte ist gerne gesehen, ich hab noch ein paar Satochis auf der Seite ?

Nachdem das alles mit dem PI so gut funktioniert werde ich als nächstes eine kleine shop basteln wo man ein T-shirt kaufen können wird. Das mache ich dann mit dem Wordpress Plugin auf einem richtigen Server. Ziel ist also den Blockstream shop nachzubauen. Wenn es soweit ist werde ich es dann im Lightning fred posten...schönen 1 Mai und nicht so viele Farbbeutel auf FIAT Banken werfen, die ruinieren wir anders ? ??

Edited by leblitzdick
Link to comment
Share on other sites

  • 1 month later...

Hallo zusammen…

Ich bin vor kurzem auf diesen Thread gestoßen und fand die Idee einen eigenen Bitcoin- und Lightning-Node zu bestreiben sehr spannend. Und außerdem hab ich schon lange einen Grund gesucht mir eine Raspberry Pi zuzulegen ?

Ich habe es wie leblitzdick gemacht und bin der Anleitung von https://github.com/Stadicus/guides/blob/master/raspibolt/README.md gefolgt (mit dem Unterschied, dass ich die 0.4.2 laufen habe). Der Bitcoin Node läuft einwandfrei und auch die Installation des Lightning Nodes klappte hervorragend. Es gibt nur ein Problem, zu welchem ich noch nirgends eine Lösung gefunden habe. 

Folgendes: Beim Start des Lightning Nodes wird meine korrekte aktuelle IP-Adresse ans Netzwerk übertragen und mein Node kann beispielsweise über https://graph.lndexplorer.com/ gefunden werden. Alle 24h bekomme ich vom ISP allerdings eine neue IP-Adresse. Danach werde ich laut https://graph.lndexplorer.com/ als offline angezeigt.
(Ich habe das Gefühl, dass danach meine Peers und Channels sukzessive verschwinden ?)

Wen ich das richtig verstehe, teilt der Node dem Netzwerk beim Start über --externalip=xxx.xxx.xxx.xxx die öffentliche IP mit. Heißt das, dass ich den Node nach jedem IP-Wechsel neu starten muss?

Ich würde mich sehr über eure Hilfe freuen ?

Link to comment
Share on other sites

vor 1 Stunde schrieb Mandel:

Hallo zusammen…

Ich bin vor kurzem auf diesen Thread gestoßen und fand die Idee einen eigenen Bitcoin- und Lightning-Node zu bestreiben sehr spannend. Und außerdem hab ich schon lange einen Grund gesucht mir eine Raspberry Pi zuzulegen ?

Ich habe es wie leblitzdick gemacht und bin der Anleitung von https://github.com/Stadicus/guides/blob/master/raspibolt/README.md gefolgt (mit dem Unterschied, dass ich die 0.4.2 laufen habe). Der Bitcoin Node läuft einwandfrei und auch die Installation des Lightning Nodes klappte hervorragend. Es gibt nur ein Problem, zu welchem ich noch nirgends eine Lösung gefunden habe. 

Folgendes: Beim Start des Lightning Nodes wird meine korrekte aktuelle IP-Adresse ans Netzwerk übertragen und mein Node kann beispielsweise über https://graph.lndexplorer.com/ gefunden werden. Alle 24h bekomme ich vom ISP allerdings eine neue IP-Adresse. Danach werde ich laut https://graph.lndexplorer.com/ als offline angezeigt.
(Ich habe das Gefühl, dass danach meine Peers und Channels sukzessive verschwinden ?)

Wen ich das richtig verstehe, teilt der Node dem Netzwerk beim Start über --externalip=xxx.xxx.xxx.xxx die öffentliche IP mit. Heißt das, dass ich den Node nach jedem IP-Wechsel neu starten muss?

Ich würde mich sehr über eure Hilfe freuen ?

Hallo @Mandel,

du hast das Problem genau erkannt und eigentlich die Lösung ja auch schon selber gefunden!  Wenn Du eine neue IP vom ISP nach der Zwangstrennung bekommen hast, musst Du deinen Node mit der aktuellen IP unter --externalip=xxx.xxx.xxx.xxx  neu starten.

Ich habe das Problem nicht, da mein ISP(Kabel vodafone) keine Zwangstrennung macht, und selbst wenn ich das Modem aus schalte immer wieder die gleich IP bekomme. Das ist bei DSL leider nicht so.

Ich würde mir ein script schreiben welches z.B. alle 10 Minuten mit Hilfe von  getpublicip.sh testet ob sich die IP geändert hat und dann einfach lnd neu startet.

In den neueren Routern z.B. der Telekom kann man ziemlich genau einstellen wann die Zwangstrennung gemacht wird. Dann kann man sich das abtesten der IP sparen und einfach per 'cron job' lnd  z.B. 10 Minuten danach neu starten.

 

Edited by leblitzdick
Rechtschreibung :-)
Link to comment
Share on other sites

Hallo @Mandel,

Hab mir bei goip.de kostenlos eine Domain registriert, den Service im Router hinterlegt.

In lnd.conf folgendes eingetragen:
externalip=myDomain.goip.de:9735

Kann aber leider nicht sagen ob es funktioniert, da sich meine IP schon Monate nicht mehr geändert hat.
Ein Versuch ist es Wert, kannst ja berichten.
 

@leblitzdick Wie hast du das mit dem Wallet-Password gelöst. Beim Neustart der Node musst du ja als erstes die Wallet freigeben.

Link to comment
Share on other sites

vor 1 Stunde schrieb zagota:

Hallo @Mandel,

Hab mir bei goip.de kostenlos eine Domain registriert, den Service im Router hinterlegt.

In lnd.conf folgendes eingetragen:
externalip=myDomain.goip.de:9735

Kann aber leider nicht sagen ob es funktioniert, da sich meine IP schon Monate nicht mehr geändert hat.
Ein Versuch ist es Wert, kannst ja berichten.
 

@leblitzdick Wie hast du das mit dem Wallet-Password gelöst. Beim Neustart der Node musst du ja als erstes die Wallet freigeben.

Das mit dem Wallet Passwort hatte ich schön übergangen. So einfach ist es dann doch nicht mit dem einfach neu starten...?

Das mit der kostenlosen Domain ist vielleicht sogar die bessere Lösung, werde ich auch mal probieren - Ich habe 'ne Fritzbox da bekommt man beim MyFritz Service auch eine kostenlose Domain!

Umso interessanter wäre die "Domain" Lösung von @zagota !!

Edited by leblitzdick
Debug
Link to comment
Share on other sites

Ich glaube ich hab Alzheimer, schaue gerade in meine lnd.conf  da steht schon seit einem Monat der Domainname drin ???, au weia!

Aber trotzdem wäre zu prüfen, ob er die Änderung der IP einfach so schluckt, ich kann es leider nicht testen, da sich meine ja nicht ändert! Da muss also jemand mit 'n node am DSL Anschluss mal probieren ob das geht!

Edited by leblitzdick
Debug
Link to comment
Share on other sites

Hallo @leblitzdick und @zagota,

vielen Dank für eure Antworten!
Die Idee mit der Domain hatte ich auch schon. Leider funktioniert das nicht wirklich. Beim Start des Node wird die Domain leider nur in die aktuelle IP umgewandelt und ändert sich dann nicht mehr. Ich hab hierzu auch schon irgendwo gelesen, dass LND wohl nur IPs und keine Domains akzeptiert. Der Beitrag (keine Ahnung wo ich das gelesen hab, ich hab viel gesucht...) war aber auch schon älter. Daher hab ich es ausprobiert. Wie gesagt, ohne Erfolg...

Und das Wallet Passwort wäre beim Neustart die nächste Frage gewesen...
Ich hatte ja gehofft, man kann einfach "lncli unlock WALLETPW" schreiben, aber man scheint es nicht einfach übergeben zu können :(

Was passiert eigentlich mit den Verbindungen zu meinen Peers und den offenen Kanälen bei einem Neustart?
Also wenn ich über "lncli stop" beende und dann wieder neu starte.

Lieben Dank schon mal für eure Hilfe :)

Link to comment
Share on other sites

PS: Nutzt ihr den Autopilot? Ich hab irgendwie das Gefühl, dass der die Aufteilung meines Wallets in die Channels nicht sehr sinnvoll macht. Hab aber gelesen, dass es empfohlen wird ihn zu verwenden...

Link to comment
Share on other sites

vor 49 Minuten schrieb Mandel:

Was passiert eigentlich mit den Verbindungen zu meinen Peers und den offenen Kanälen bei einem Neustart? Also wenn ich über "lncli stop" beende und dann wieder neu starte. 

Mit den channels passiert soweit erst mal nichts, ich habe meinen node schon sehr oft "von Hand" neu gestartet am Anfang waren da auch unterschiedliche IPs im Spiel. Das ist nicht entscheidend, da die IP hauptsächlich wohl für die Erreichbarkeit für andere von außen beim channel Aufbau wichtig ist. Die tatsächliche Referenzierung des node wird dann vom Netzwerk verwaltet. 

vor 54 Minuten schrieb Mandel:

PS: Nutzt ihr den Autopilot? Ich hab irgendwie das Gefühl, dass der die Aufteilung meines Wallets in die Channels nicht sehr sinnvoll macht. Hab aber gelesen, dass es empfohlen wird ihn zu verwenden... 

Ich nutze auch den Autopilot per default. Man kann aber immer auch selber per lncli eigene channels aufbauen wenn man das möchte, auch das habe ich zur genüge schon gemacht. Auch channels geschlossen die vom "Autopilot" eröffnet wurde. ging bei mir alles ohne Probleme. Nach welchen Kriterien der Autopilot allerdings channels öffnet kann ich mir auch nicht erklären ?

 

Link to comment
Share on other sites

Am 11.6.2018 um 16:28 schrieb Mandel:

Hallo @leblitzdick und @zagota,

vielen Dank für eure Antworten!
Die Idee mit der Domain hatte ich auch schon. Leider funktioniert das nicht wirklich. Beim Start des Node wird die Domain leider nur in die aktuelle IP umgewandelt und ändert sich dann nicht mehr. Ich hab hierzu auch schon irgendwo gelesen, dass LND wohl nur IPs und keine Domains akzeptiert. Der Beitrag (keine Ahnung wo ich das gelesen hab, ich hab viel gesucht...) war aber auch schon älter. Daher hab ich es ausprobiert. Wie gesagt, ohne Erfolg...

Und das Wallet Passwort wäre beim Neustart die nächste Frage gewesen...
Ich hatte ja gehofft, man kann einfach "lncli unlock WALLETPW" schreiben, aber man scheint es nicht einfach übergeben zu können :(

Was passiert eigentlich mit den Verbindungen zu meinen Peers und den offenen Kanälen bei einem Neustart?
Also wenn ich über "lncli stop" beende und dann wieder neu starte.

Lieben Dank schon mal für eure Hilfe :)

In der nächsten Version wird das Problem wohl verschwinden:

 

Fortunately, LND just merged the pull request lightningnetwork/lnd#1109 that will enable full PNP NAT capabilities in the next release, detecting and rebroadcasting your public ip automatically, so this won't be necessary any more.

 

Heißt, das LND die sich ändernde  IP vom ISP  erkennt und automatisch den anderen nodes mitteilt, gute Nachrichten für alle DSLer die ein Zwangstrennung damit nicht mehr fürchten müssen ?  

Edited by leblitzdick
Debug
  • Thanks 3
Link to comment
Share on other sites

  • 4 months later...

meiner ist jetzt up: 17 Tage, 12:27h

in dieser Zeit insgesamt: up 248 MB ; down 1600 MB  (an DSL 50)

hängt natürlich davon ab, wieviele neue Nodes sich bei dir eine komplette Blockchain besorgen - je besser deine Leitung ist, desto mehr werden das sein...

Link to comment
Share on other sites

  • 3 weeks later...

Hab ich das nun richtig verstanden?

Für den Lightning-Node brauch ich den Bitcoin-Fullnode

-> Für den Bitcoin-Fullnode brauch ich die 200 GB-Blockchain

-> Ok, das mach ich grad zu Hause. Wenn ich das auf einem VPS online machen möchte, muss ich da auch die komplette Blockchain haben und dann gehen die VPS-Kosten in astronomische Höhen hoch.

Welche Möglichkeit gibt es denn mit einem Pruning-Node (oder was auch immer anderes) einen Lightning-Node auf einem VPS mit 25 GB Plattenplatz zu betreiben?

Link to comment
Share on other sites

@Jokin

Eine ganz coole Kombination ist c-lightning mit dem pseudo Node spruned https://github.com/gdassori/spruned zu betreiben. Das mache ich auf einem raspberry mit einer 16GB microsd und läuft gut.

spruned braucht tatsächlich nur ca. 300MB je nachdem wieviele Blöcke es vorhalten soll.

Das kann man dann auch mit ganz kleine Mietservern schon glücklich werden.

Edited by leblitzdick
Debug
  • Thanks 1
Link to comment
Share on other sites

Das klingt sehr interessant, danke!

Mein Plan ist erstmal einen Fullnode aufzusetzen. Danach dann den Lightning-Node zum Laufen zu bringen. Und danach soll das runter vom Notebook auf'm Raspberry.

Und bis dahin sollte ich generell schlauer zu dem Thema sein und mal schauen wie das auf einem VPS laufen kann.

Da die Blockchain immer größer wird, muss es ja irgendwann noch andere schlanke Lösungen geben.

Link to comment
Share on other sites

  • 1 year later...

Mittlerweile gibt es ja Speicehrkarten mit mehr als 400 GB für wenig Geld.

Ist es ratsam, das OS mit der Blockchain auf der selben Speicherkarte laufen zu lassen oder emphielt ihr für die Blockchain eine separate Platte?

Link to comment
Share on other sites

vor 43 Minuten schrieb dxtr:

Mittlerweile gibt es ja Speicehrkarten mit mehr als 400 GB für wenig Geld.

Ist es ratsam, das OS mit der Blockchain auf der selben Speicherkarte laufen zu lassen oder emphielt ihr für die Blockchain eine separate Platte?

Ich denke, dass die Technologie mittlerweile so weit fortgeschritten ist, dass SSDs genauso viele Schreib-Zugriffe wie Festplatten aushalten können.

Eine separate Karte für die Blockchain macht aus meiner Sicht keinen Sinn.

Ich selber hab da gerade eine 6TB-HDD am Raspi um die Blockchain zu halten, ich bin jedoch auch am Überlegen ob ich nicht noch einen zweiten neueren Raspi anschaffe um meine Hausautomation von den Kryptowährungen zu trennen - hab da alles zusammen geschmissen.

Keine 50 Euro für 400 GB ist schon ein ziemlich günstiger Hammerpreis ... uff.

Was ich jedoch auch empfehle (und mir noch fehlt) ist ein sicheres Backup-Konzept. Derzeit stelle ich mir das so vor:

Einmal in der Woche starten zwei Cron-Jobs:

Erster Cronjob:
1. Prüfe Bitcoin-Node ob der sauber läuft  -> wenn nicht: Info an Admin
2. Prüfe Lightning-Node ob der sauber läuft  -> wenn nicht: Info an Admin
3. Stoppe Bitcoin-Node
4. Starte Bitcoin-Node
5. Entsperre Lightning-Wallet
6. Prüfe Bitcoin-Node ob der sauber läuft  -> wenn nicht: Info an Admin
7. Prüfe Lightning-Node ob der sauber läuft  -> wenn nicht: Info an Admin
 

Zweiter Cronjob startet und stellt sicher, dass das Stoppen und Starten des Nodes fehlerfrei lief. Nur wenn der Start fehlerfrei läuft, dann wird auch ein Backup erstellt.
1. Prüfe Bitcoin-Node ob der sauber läuft  -> wenn nicht: Info an Admin
2. Prüfe Lightning-Node ob der sauber läuft  -> wenn nicht: Info an Admin
3. Stoppe Bitcoin-Node
4. Nun das bitcoin-Verzeichnis auf das Backup kopieren.
... damit ist dann "eigentlich" auch der Lightning-Channel-Status gesichert, aber beim Wiedereinspielen eines alten Backups muss noch mehr beachtet werden (https://github.com/ElementsProject/lightning/issues/1156)
5. Starte Bitcoin-Node
6. Entsperre Lightning-Wallet
7. Prüfe Bitcoin-Node ob der sauber läuft  -> wenn nicht: Info an Admin
8. Prüfe Lightning-Node ob der sauber läuft  -> wenn nicht: Info an Admin
 

Das ist mein Konzept wie ich es gern umsetzen möchte, aber noch nicht getan habe (aktuell hab ich nur wenige Testsatoshis drin).

 

Link to comment
Share on other sites

vor 3 Stunden schrieb Jokin:

Ich denke, dass die Technologie mittlerweile so weit fortgeschritten ist, dass SSDs genauso viele Schreib-Zugriffe wie Festplatten aushalten können

Die besseren SSD-Modelle kommen da hin, ja. Aber erstens gibt es auch Billigheimer, die das nicht erreichen, zweitens reicht eine gebrauchte, alte 2,5" Festplatte aus einem Notebook für die I/Os eines Nodes locker aus.

Der TE redet aber von SpeicherKARTEN, und die dort verbauten Flash-Memories machen lange nicht so viele Schreib/Lesezyklen mit wie die in SSDs. Ein raspibolt ist eigentlich die ideale Wiese, wo eine 500-GB-HDD ihr Gnadenbrot fressen kann.

Link to comment
Share on other sites

vor 14 Minuten schrieb wwurst:

Die besseren SSD-Modelle kommen da hin, ja. Aber erstens gibt es auch Billigheimer, die das nicht erreichen, zweitens reicht eine gebrauchte, alte 2,5" Festplatte aus einem Notebook für die I/Os eines Nodes locker aus.

Der TE redet aber von SpeicherKARTEN, und die dort verbauten Flash-Memories machen lange nicht so viele Schreib/Lesezyklen mit wie die in SSDs. Ein raspibolt ist eigentlich die ideale Wiese, wo eine 500-GB-HDD ihr Gnadenbrot fressen kann.

Genau!

Meine Frage zielte darauf ab, ob es sinnvoll ist, sein RaspberryPI-OS (Raspian) mit einem Bitcoin Full-Node inkl. Blockchain auf einer z.B. 400 GB microSD-Karte laufen zu lassen.

Link to comment
Share on other sites

vor 2 Stunden schrieb dxtr:

Genau!

Meine Frage zielte darauf ab, ob es sinnvoll ist, sein RaspberryPI-OS (Raspian) mit einem Bitcoin Full-Node inkl. Blockchain auf einer z.B. 400 GB microSD-Karte laufen zu lassen.

Ja kann man machen, bei der BTC blockchain ist das auch nicht so ein Risiko, wenn es abraucht egal ist ja nur ärgerlich alles nochmal zu machen. Lightning ist da anders wenn hier was kaputt geht sollte man ein externes backup haben, weil weg ist coins weg!

Es schließt sich also etwas aus, für lightning würde ich nicht so ein potenziell unsicheres Speichermedium(micro sd) nehmen, es schmieren einfach zu viele ab - weiß ich aus eigener Erfahrung auch in anderen Umgebungen.

Die beste Lösung ist meiner Meinung nach die externe Festplatte für beides und regelmäßig backup ziehen, am besten immer wenn neue channels dazu kommen oder geschlossen werden!  

Wer die blockchain auf dem RP4 selber verifiziert ist auch mit ner SSD im externen Gehäuse gut beraten, das macht einiges aus weil es sehr viele Zugriffe auf das Medium während des Vorgangs gibt.

   

Edited by leblitzdick
  • Thanks 2
Link to comment
Share on other sites

vor 33 Minuten schrieb leblitzdick:

Ja kann man machen, bei der BTC blockchain ist das auch nicht so ein Risiko, wenn es abraucht egal ist ja nur ärgerlich alles nochmal zu machen. Lightning ist da anders wenn hier was kaputt geht sollte man ein externes backup haben, weil weg ist coins weg!

Es schließt sich also etwas aus, für lightning würde ich nicht so ein potenziell unsicheres Speichermedium(micro sd) nehmen, es schmieren einfach zu viele ab - weiß ich aus eigener Erfahrung auch in anderen Umgebungen.

Die beste Lösung ist meiner Meinung nach die externe Festplatte für beides und regelmäßig backup ziehen, am besten immer wenn neue channels dazu kommen oder geschlossen werden!  

Wer die blockchain auf dem RP4 selber verifiziert ist auch mit ner SSD im externen Gehäuse gut beraten, das macht einiges aus weil es sehr viele Zugriffe auf das Medium während des Vorgangs gibt.

   

Danke!

Mit "Lightning" habe ich mich mich noch nicht allzuviel beschäftigt. Daher wollte ich erstmal einen BTC-Fullnode aufsetzen. Oder sollte ich eurer Meinung nach hier mehr Richtung Zukunft schauen und direkt auf Lightning + den Fullnode setzen?

Mit den bisherigen microSD-Karten, die ich bislang auf dem Pi genutzt habe, hatte ich bisher keine Probleme. Gut möglich, dass auf Grund der erhöhten Lese- und Schreibzugriffe auf die lokale Blockchain mehr potentielle Error's ergeben ...

Link to comment
Share on other sites

Und?

Node läuft?

... wer selber einen Node aufbauen will, dem kann ich gern unter die Arme greifen.

Das Langwierigste ist das Downloaden der Blockchain - ich biete an 400-GB-MiniSD-Karten zu kaufen, mit der gesamten Blockchain zu laden und Euch zuzusenden.

(Bezahlung im Voraus mit BTC im Wert von der Karte + Porto)

Hilfestellung gibt's hier im Forum.

Bitte keine fertigen Nodes kaufen, denn sonst bekommt Ihr Viren oder eine Backdoor gleich mitgeliefert.

  • Like 4
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.