Lightning Node Notifications

Hallo zusammen,

ich habe mich übers Wochenende mal wieder an ein neues Software-Projekt gesetzt.

Ich betreibe nun seit fast zwei Monaten meine Bitcoin-Lightning-Node. Die Node läuft und macht ihren Job.

Bei meiner täglichen Arbeit ist mir aufgefallen, dass ich meist einfach nur in LNDg schaue, ob neue Transaktionen geroutet wurden. Das war mir auf Dauer etwas zu nervig. :sweat_smile:

Deswegen kam mir folgende Idee: „Notifications wären hier doch schön.“ Bei meiner Recherche bin ich auf die Benachrichtigungsfunktion von Balance of Satoshis gestoßen. Die gesamte Funktion ist jedoch sehr beschränkt: Beispielsweise werden nur Telegram-Benachrichtigungen unterstützt und ich wollte die zusätzlichen Bot-Funktionen nicht.

Schlussendlich bin ich zu dem Schluss gekommen, dass es keine guten Lösungen auf dem Markt gibt und ich mir selbst etwas bauen muss..

Und da sind wir nun.

Das Programm unterstützt folgende Benachrichtigungen:

  • Payments routed
  • Channel Open
  • Channel Close
  • Peer Online
  • Peer Offline
  • Settled Invoice

Die Benachrichtigungen können vollständig personalisiert werden. Es kann eingestellt werden, welche Benachrichtigungen mit welchem Template versendet werden sollen.

Dank einer sehr guten Library werden als Benachrichtigungsziele fast alle gängigen Ziele unterstützt. Liste aller Ziele

So, genug vom technischen Geschwafel, hier ist das Projekt. ;)

4 „Gefällt mir“

Cooles Projekt, hätte ich vor ein paar Jahren gebrauchen können.
Hab aber teilweise bis zu 200 Forwards die Stunde da, würde das Smartphone nicht mehr aufhören zu bimmeln. Lass mir jetzt einmal die Stunde ein FeeReport per Matrix zuschicken.
Nochmals Top Arbeit.:clap:

1 „Gefällt mir“

Da hast du mich auf eine Idee für eine neue Notification gebracht. :smiley:

Danke ;)

Sehr cooles Projekt, werde ich die Tage einmal testen.

Ich möchte gern den Telegram-Bot zeitnah loswerden und die Nachrichten an eine selfhosted ntfy-Instanz senden. Hatte mit einem Python-Fork von lnd-gotify begonnen (GitHub - feelancer21/lnd-ntfy: A Python script that connects to your Lightning Network Daemon (LND) node and sends real-time notifications to a ntfy server.)

Aber finde dein Projekt ehrlich gesagt cooler.

Da ich auch ein bisschen go kann, kann ich gern ein bisschen unterstützen.

Features, die m.E. noch fehlen, um den Bot loszuwerden:

  • Rebalancing Payments
  • Payments (ohne Rebalancings)
  • Keine Invoices sofern mit Rebalancing verbunden
  • Betragsfilter für Forwards und Payments
  • onchain transactions
  • static channel backup (sofern Dateiversand möglich)

Planst du etwas davon demnächst?

Habe auch noch Ideen ontop wie (HTLC-Monitoring), aber erstmal soll der Telegram-Bot weg ;).

1 „Gefällt mir“

Sehr gerne, Hilfe ist immer schön. :slight_smile:

Hier meine aktuelle ToDo, woran ich die Tage arbeiten werden:

Über Merge Requests von anderen Themen würde ich mich natürlich freuen. :D

1 „Gefällt mir“

Du schreibst, dass LND macaroon file benötigt wird, reicht das readonly.macaroon?

Ich habs gerade mal ausprobiert, ja Readonly reicht. Ich passe meine Dokumentation entsprechend an.

1 „Gefällt mir“

Hab es mal eingerichtet und es funktioniert, nur die URL für Matrix war etwas frickelig.
Gibt es bei forwards die Möglichkeit, den .Amount ohne msats auszugeben?

Schön zu hören :smiley:

In der nächsten Version, die ich heute fertig mache, ist die Formatierung von Sats besser.

Update ist fertig.

  • Amounts werden jetzt besser angezeigt
  • Failed HTLC Event
  • Kleinere Fehlerbehebungen
1 „Gefällt mir“

Hab die neueste Version installiert, Forward Amounts sieht jetzt besser aus, Danke.
ist in der config.yaml die Template-Konfiguration raus geflogen, ist nicht mehr in der Beispiel-Konfig auf github?
Parameter --version --help oder -v -h wäre schön.

1 „Gefällt mir“

Der Gedanke dahinter war, das in der README.md nur eine grundlegende Konfiguration hinterlegt ist. Falls der User kein Template definiert ist im Code ein Fallback hinterlegt.

Zusätzlich habe ich hier eine komplexere Konfiguration, wo alle Felder hinterlegt sind:

1 „Gefällt mir“

:grin:

1 „Gefällt mir“

Sehr geil :grinning_face_with_smiling_eyes:

Hallo @Primexz,
hätte ein paar kosmetische Anregungen:

  • notifications batching: Die Unterstreichung nach n Notifications ist sehr lang, bekomme ein Umbruch auf dem Phone.
  • Die Meldung „lndnotify connected“ könnte man gleich beim Start ausgeben. Wenn ich flush_interval bei 10m habe, kommt die Meldung erst nach 10 Minuten.
  • Könnte man bei der Meldung „lndnotify connected“ die Versionsnummer ausgeben? „lndnotify(v1.11.0) connected“
  • Log: Könnte man das Logging von Events, die man nicht aktiviert hat, abstellen oder sowas wie Loglevel=Debug/Info?
    Das Log ist voll mit unzähligen Einträgen von:
Nov 12 15:43:59 *** lndnotify[4528]: time="2025/11/12 - 15:43:59" level=info msg="received event" event=failed_htlc_event
Nov 12 15:44:09 *** lndnotify[4528]: time="2025/11/12 - 15:44:09" level=info msg="received event" event=failed_htlc_event
Nov 12 15:44:09 *** lndnotify[4528]: time="2025/11/12 - 15:44:09" level=info msg="received event" event=failed_htlc_event

Danke und tolle Arbeit.

Hey, erstmal danke für dein Feedback. :slight_smile:

Es ist sehr schön zu sehen, dass das Projekt gut ankommt. :wink:

Werde ich anpassen. Ich denke 5 Zeichen sollten locker reichen.

Ist für mich fast ein Bug. :sweat_smile:

Wird gefixt. ;)

Finde ich gut, baue ich mit ein.

Grundsätzlich kann man das Log-Level bereits konfigurieren.

Dein spezifischen Log stelle ich auf Debug um.

Deine ganzen Verbesserungen werde ich im nächsten Release implementieren. Der Aufwand ist sehr überschaubar.

Besonders erwähnen möchte ich noch @Banker, der ebenfalls großzügig am Projekt mitgearbeitet hat.

1 „Gefällt mir“

Das habe ich übersehen, Danke.

1 „Gefällt mir“