Tester gesucht: EmberSpark - schlanker Android-Client für deinen eigenen LNbits-Server

Hallo zusammen,

ich entwickle in meiner Freizeit EmberSpark, eine Android-App, die als Bedienoberfläche für einen selbst gehosteten LNbits-Server dient. Wichtig vorab: EmberSpark ist explizit keine eigenständige Wallet. Dein LNbits-Server bleibt die Wallet, EmberSpark ist der Client dafür auf dem Handy. Custodial-Funktionen, eingebaute Tauschdienste oder ähnliches gibt es nicht und sind auch nicht geplant.
Möglicherweise werden in Zukunft aber weitere Wallets/Backends unterstützt.

Die App liegt bereits im Google Play Store. Für die kommenden Releases suche ich noch ein paar Tester aus dem deutschsprachigen Lightning-Umfeld, die idealerweise ihren eigenen Node betreiben und gern kritisch hinschauen.

Ideal wenn ihr euren Lightning Node und bestehenden Kanäle für Familie und Freunde zugänglich machen wollt.

Features

  • Lightning Send & Receive über deinen LNbits-Server

  • QR-Scanner mit Auto-Routing für BOLT11, BOLT12 (lno1… / lni1…), LNURL und Lightning-Adressen

  • BOLT12 komplett: Offers und Invoices bezahlen, eigene Offers über die LNbits-Community-Extension generieren

  • LNURL: pay, withdraw und auth (LUD-04 mit secp256k1-Signatur), inkl. LUD-12 Kommentar beim Pay

  • Lightning-Adressen (user@host) als Sende- und Kontakt-Ziel

  • Meine Visitenkarte: eigene Lightning-Adresse, BOLT12-Offer und LNURL-pay-Link via QR, Copy, Share oder NFC teilen, optional automatisch vom LNbits-Server generiert

  • Deterministische Avatare pro Wallet, aus den öffentlichen Lightning-Identifiern abgeleitet, sodass die gleiche Person bei dir und beim Gegenüber denselben Avatar zeigt

  • Mehrere LNbits-Server parallel verwalten, mit schnellem Switcher und eigener Visitenkarte pro Server

  • Live-Transaktionsverlauf, eingehende und ausgehende Zahlungen erscheinen ohne manuelles Refresh

  • Sats / Fiat-Toggle überall (USD, EUR, GBP, CHF, CAD, AUD, JPY via mempool.space), inkl. Eingabe in Fiat beim LNURL-Pay

  • Kontakte speichern, plus Import / Export als JSON-Datei

  • NFC read / write für Lightning-Destinations

  • System-Handler für lightning:- und lnurl:-Deep-Links

  • Biometrie- oder PIN-Sperre beim App-Start

  • API-Key im Android KeyStore (flutter_secure_storage); explizit kein Android Auto Backup, damit die Credentials nicht in Google Drive landen

  • TLS-Toggle für selbstsignierte Zertifikate oder .onion-LNbits-Server

Voraussetzungen

  • Android 6.0+ (API 23)

  • Ein eigener, erreichbarer LNbits-Server mit echtem Lightning-Backend (LND, CLN, Phoenixd oder NWC). VoidWallet reicht nicht, der bewegt keine Sats.

  • Netzwerk-Erreichbarkeit vom Handy zum LNbits-Server: LAN, Reverse-Proxy oder .onion gehen alle.

  • Ein Google-Konto, das ich zur Tester-Liste hinzufügen kann

Links

Mitmachen

Wer im Geschlossenem Testing Track mitlaufen will: schickt mir eine kurze PM mit der Google-E-Mail-Adresse des Test-Accounts. Ich nehme euch in die Tester-Liste auf und ihr bekommt die Builds direkt aus dem Play Store. Feedback gerne hier im Thread, per PM oder über den GitHub-Issue-Tracker.

Alternative Teilnahme über Beitritt der Google Group: https://groups.google.com/g/emberspark-testers

Die Mitgliedschaft schaltet den Testzugang frei, sobald du mit dem Google-Konto beigetreten bist.
Play Store: https://play.google.com/store/apps/details?id=com.emberspark.wallet (Nur sichtbar für registrierte Tester)

Moment ist EmberSpark eine management-Software für LNbits, also für die Verwaltung durch den Server-Admin, Verwaltung von LNbits-Konten etc. oder ist es für jeweils einen bestimmten LNbits account (ggf. mehrere Wallets in Account) oder ist es für jeweils eine bestimmte Wallet?

Werden Bolt Cards, aktiv unterstützt?
Funktioniert das abbuchen von Sats via LNURLw/Bolt card per scan/NFC wenn die Quelle eine andere Wallet auf dem gleichen LNbits-Server (mit gleicher node dahinter) ist?

Scheint ein spannendes Projekt zu sein. Gibt es schon Pläne für das Release?

Hi Astrea, danke fürs Nachfragen,

Auf welcher Ebene arbeitet EmberSpark?

EmberSpark ist keine Admin- oder Management-Software für LNbits. Es ist ein Client auf Wallet-Ebene. Du bindest es an eine konkrete LNbits-Wallet an, indem du den API-Key (Admin-Key, z. B. per QR) hinterlegst. Ein API-Key entspricht in LNbits genau einer Wallet, also arbeitet EmberSpark pro Wallet.

Du kannst aber mehrere Wallets parallel einbinden. Auch über verschiedene LNbits-Server hinweg und per Switcher zwischen ihnen wechseln. Jede eingebundene Wallet hat ihre eigene Visitenkarte (Lightning-Adresse, LNURL-pay, BOLT12).

Werden Bolt Cards aktiv unterstützt?

Eine dedizierte Bolt-Card-Funktion (Karten programmieren, Anbindung der boltcard-Extension, Counter-Handling) gibt es aktuell nicht. EmberSpark unterstützt aber generisch LNURL-withdraw (LUD-03) und kann sowohl QR-Codes als auch NFC-NDEF-Tags lesen.

Praktisch heißt das: Liegt auf der Karte bzw. dem Tag eine standardmäßige LNURL (bech32 LNURL1…, optional mit lightning:-Präfix), liest EmberSpark sie und führt den Withdraw aus. Viele programmierbare Bolt Cards nutzen allerdings das lnurlw://-Schema mit pro-Tap-Counter (p/c-Parameter), und dieses Schema parst der aktuelle Decoder noch nicht zuverlässig. Eine solche Karte funktioniert also nicht garantiert out of the box. Echte Bolt-Card-Unterstützung steht damit noch auf der To-do-Liste.

Funktioniert das Abbuchen via LNURLw, wenn die Quelle eine andere Wallet auf demselben LNbits-Server (gleiche Node) ist?

Kurz gesagt, ja :slightly_smiling_face:
Beim LNURL-Withdraw erzeugt EmberSpark auf der gerade verbundenen Ziel-Wallet eine Invoice und reicht sie an den Withdraw-Callback der Quelle weiter und die Quell-Wallet bezahlt diese Invoice. Das funktioniert auch auf demselben Server/Node

Gibt es schon Release-Pläne?

Leider noch nicht. Stand jetzt läuft EmberSpark im geschlossenen Test (Closed Testing) auf Google Play, für den ich hier Tester suche.

@Astrea Ich habe soeben eine neue Version released, die nun auch das lnurlw://-Schema korrekt behandeln sollte. Somit müssten Boltcards nun zumindest für die Bezahlung in EmberSpark funktionieren.

Testen kann ich das allerdings selber leider nicht, da ich aktuell noch keine Boltcard besitze. Ich werde mir hierfür wohl noch eine bestellen müssen.

BTW: Schönes Tagebuch, das du hier im Forum führst :wink:

EmberSpark unterstützt nun Bolt Cards inklusive der LNbits Bolt Card Extension nativ.

Damit funktioniert nun das Programmieren, Bearbeiten, Überprüfen und Wipen direkt aus der App heraus.
Das war zwar relativ viel Arbeit, aber mich hat es irgendwie gestört immer zwischen LNbits Server und Bolt App hin- und herspringen zu müssen und QR-Codes kopieren zu müssen.

Besonders, weil ich meinen Server auch für Freunde und Familie zur Verfügung gestellt habe und nicht alle Karten für jeden einzelnen immer verwalten möchte :slightly_smiling_face: Nun können sie ihre Karten selber in der App hinzufügen und bearbeiten.

Danke an alle Tester!

EmberSpark ist ab sofort offiziell im Google Play Store verfügbar​:fire:

An alle mit der Testversion: Ihr müsst nichts weiter tun. Alle Tester werden automatisch auf die offizielle Version umgestellt. Es ist keine Neuinstallation nötig, das nächste Update kommt einfach als normales Store-Update.

Bleibt dran und happy Stacking​:high_voltage:

Sehr cool. Gerade ausprobiert, einfach top! Boltcards sehr schön integriert.

Einziges Problem: Ich wollte and die LN-Adresse in der „about“-Sektion eine Spende schicken, bekomme aber „Void Wallet cannot create invoices“. Und nein, mein LNbits läuft nicht auf Void Wallet. Zahlungen empfangen und senden funktioniert sonst problemlos.

Danke für das Feedback und schön, dass dir die Bolt Card integration gefällt :slightly_smiling_face:
Der Fehler mit der Zahlung lag an meinem Backend. Sollte nun wieder funktionieren. Danke für den Hinweis :wink:

Ja hat geklappt. Spende wurde geschickt!

Ist das Produkt fertig oder hast du noch weitere Features geplant?

Ist angekommen. Danke dir für die großzügige Spende Astrea! :fire:

Ich würde mal sagen, dafür kannst du dir direkt etwas wünschen wenn du einen konkreten Feature-Wunsch hast.
Prinzipiell möchte ich mit der App zukünftig mehr als nur LNbits unterstützen und aller Wahrscheinlichkeit nach noch NWC (Nostr Wallet Connect) hinzufügen. Auch Funding/Aufladungen via Boltz und Co. wären schön, aber unter Umständen auch schwierig hinsichtlich der Regulierungen.

Unterstützung für iOS ist auch bereits vorgesehen, allerdings würde ich das noch etwas nach hinten schieben wollen, da ein Developer Account bei Apple um die 100$ im Jahr kostet. Ich möchte aber in keinem Fall Werbung in der App, daher muss das auch irgendwie wirtschaftlich im Verhältnis stehen.

Gerne!

Ich habe einen bzw. 2 zusammenhängende Bugs entdeckt:
Wenn ich „Receive“ wähle, den Betrag eingebe und NFC wähle, dann meine Boltcard nutzen will, dann sagt er „could not write to tag“. Etwas komische Fehlermeldung, ich wollte doch nur lesen.
Ich hab dann aus Interesse „Send“ gewählt, auch NFC, und die Boltcard drangehalten. Und da konnte ich doch tatsächlich eingeben wieviel ich abbuchen will. Hat auch funktioniert. Di Idee ist ja aber, dass der bezahlende vorher den Betrag sieht und der dann direkt abgebucht wird bei dranhalten.

Ist da vielleicht das mapping vertauscht? Wobei „could not write to tag“ allgemein komisch wäre, egal ob man was abbuchen oder zahlen will. Irgendwas ist da auf jeden Fall falsch.

Dann hab ich noch den Sonderfall „mich selbst bezahlen mit Boltcard, die die gleiche wallet zum senden nutzt wie ich zum empfangen“. Das funktioniert auch. Ich seh dann ein credit und ein debit zur gleichen Zeit. Kann ein feature sein dass es einfach geht, oder der Fall wurde übersehen und es gibt deswegen keine Warnung. Die Nutzung leidet nicht darunter, ich dachte nur ich erwähne es.

Feature-Wunsch hab ich an sich keinen. Alle Funktionen die ich brauche sind beriets drin (die NFC-Sache wird ja sicher noch behoben).

Noch 2 UI-Sachen:

Fände es cool wenn man in der Hauptansicht bei längeren drücken des Wallet-Namens ein drop down/scroll through Menü bekommen würde und dann nur den Finger nach oben oder unten bewegen muss um die Wallet zu wechseln. Ist bequemer als in die andere Ansicht zu wechseln und dort zu wählen.
Ich würde gerne den „Avatar“ selber wählen können. Z.B. aus einer Auswahl Standardbildern (Bitcoin logo, Lightning Logo, 1-2 „work related“ Optionen, falls jemand eine der falls für den Betrieb nutzt, vielleicht eine Strand mit Schirm Option, eine „Satoshi“ Option (Typ mit Hoodie ohne gesicht oder so). Einfach so ein paar Sachen die übliche sind. Ist kein muss, aber eine gute Alternative zu den generierten Avataren (die sagen mir persönlich ehrlich gesagt nicht so zu).

Hui da kommt ja einiges zusammen. Du hast dich offensichtlich etwas mit der App beschäftigt :slightly_smiling_face: Ich drösel das mal auf…

Das NFC-Problem kommt vermutlich daher, weil meine beiden angestrebten NFC- und Bolt Card Ansätze kollidieren. Der „NFC“ Button war/ist eigentlich dafür gedacht, eine Zahlung ohne QR-Scannen durchführen zu können (zwei Handys aneinander halten). Ich bringe das mal in Ordnung, damit es auch für Bolt Cards funktioniert. Danke fürs Melden!

Zahlungen vom selben Wallet an sich selbst habe ich tatsächlich gar nicht berücksichtigt. Klingt aber vernünftig das abzufangen, sollte leicht zu lösen sein.

Das „Scrollen“ durch die Wallets via Wischgeste finde ich eine gute Idee. Ich möchte allerdings noch generelle Gestensteuerung einbauen um beispielsweise Transaktionsverlauf und Kontakte schneller erreichen zu können. Da müsste man dann etwas aufpassen wo man gerade seinen Finger hat.

Was die Avatare anbelangt bin ich ehrlich gesagt auch noch nicht überzeugt von dem Ergebnis. Aber vielleicht kurz zur Erklärung, warum ich mich dafür entschieden haben:

Sämtliche Adressen im Bitcoin/Lightning Umfeld sind äußerst Fehleranfällig und schwer für Menschen zu erkennen. Ein aus der Adresse abgeleiteter Avatar ist wesentlich leichter zu unterscheiden und man kann auf einem Blick erkennen, ob man das richtige Wallet oder den richtigen Kontakt erwischt hat, bevor man Geld versendet. Auf einem andere Gerät wird übrigens exakt derselbe Avatar angezeigt. Es gibt mittlerweile einige solcher Avatar Generatoren, aber leider keines mit Bitcoin-Bezug. Robosats nutzt beispielsweise Roboter und GitHub/Microsoft langweilige Pixel-Muster die wie ein Rorschachtest aussehen. Fand ich für meine App noch weniger geeignet. Ich habe auch überlegt etwas ganz eigenes zu bauen, aber das ist etwas tricky. An erster Stelle stand jedoch erst mal die Funktion. Es wird sich also hinsichtlich des Designs zukünftig bestimmt noch einiges ändern.

Du kannst aber deine eigene Adresse beeinflussen. Beispielsweise mit der LNURL-pay Erweiterung. Damit kannst du innerhalb von EmberSpark deine LN-Adresse ändern/hinzufügen oder dir einen LNURL-Pay-Link generieren lassen. Mit dem „Stern“ kannst du auch wählen, welche Adresse Vorrang in der gesamten App haben soll.

Damit hast du zumindest etwas Variation :wink:

Eine Boltcard ist ja auch nur eine Bolt11 NFC Zahlung. Ob da eine Karte oder eine Handy hingehalten wird, sollte eigentlich egal sein, oder?
Dass ich aber auf „Send“ drücke und dann Sats empfange ist halt komisch. Warum es bei „Receive“ mit der entsprechenden Fehlermeldung gar nicht geht, ist mir allerdings schleierhaft.
Ich bin gespannt wie es gelöst wird.

Also wenn ich eine Invoice scanne zum Zahlen, dann sehe ich da keinen Avatar. Ich kann mir kaum vorstellen, dass die Funktion im Alltag nützlich ist.
Unabhängig davon wird die Funktion ja durch mehr auswählbare Avatare nicht beschränkt. Der andere müsste ja immer noch den generierten Avatar sehen, nur ich sehe halt meine eigen ausgesuchten, was bei mehrere Wallets helfen kann schneller die Richtige zu wählen.

Ich habe noch was anderes gefunden:
Ein wiederbenutzbarer LNURLw-QR-Code, den ich mit LNbits erstellt habe, wird beim scannen nur mit „unrecognized lightning code“ quittiert und ich kann nicht abbuchen. Der Code funktioniert habe (Mit Wallet of Satoshi kann ich problemlos abbuchen).

Ich denke ich habe alle Fehler dazu gefunden und entsprechend gefixt. Auch der Wallet-Switch ist nun drin. Update ist unterwegs und sollte bald im Store erscheinen.

1. Bolt Card vs. NFC

Eine Bolt Card ist technisch keine Bolt11-Zahlung. Sie ist ein LNURL-withdraw, also eine „Pull“-Zahlung. Wenn man die Karte dranhält, liefert sie nur eine lnurlw-URL. Der Empfänger zieht damit den Betrag: er erzeugt selbst eine Rechnung und reicht sie an die Karte, und die Wallet hinter der Karte bezahlt sie. Das Geld fließt also von der Karte zu dir. Ein Handy, das per NFC eine Bolt11-Rechnung anzeigt, wäre die Gegenrichtung (dann zahlst du).

Daher war „Send“ und „Receive“ bei der Zahlung via Bolt Card auch vertauscht. Deine Intuition war also richtig, das sollte nun korrekt funktionieren.

2. Selbstzahlungen

Selbstzahlungen werden nun mit einer Meldung Abgebrochen. Ich sehe keinen Grund, wofür das sinnvoll sein sollte. Eine Fehlerquelle weniger.

3. Wallet Switch

Habe ich etwas anders umgesetzt. Schau mal bitte, ob das für dich so passt.
Beim nach oben oder unten wischen auf deinem Avatar, wird das Wallet nun direkt gewechselt - Kein Drop-Down-Menu.
Unter dem Avatar kannst du auf den Namen des Wallets tappen und dann über die Auswahl das gewünschte Wallet wählen (war zuvor auch schon möglich)

4. Wiederverwendbare LNURL QR-Code

LNbits erstellt offensichtlich plain https://… URLs, nicht bech32 LNURL1… oder lnurlw://
EmberSpark sollte damit nun ebenfalls klar kommen.

Ok hier die Ergebnisse der Tests:

Boltcard im Hauptmenü an das Handy halten

Erwartet: Menü zur Abbuchung in dem ich einen Betrag eingeben und bestätigen kann. Fehlermeldung mit entsprechenden Hinweis bei self-payment.

Tatsächliches Ergebnis: Fast wie erwartet. Nur self-payment geht interessanterweise problemlos durch. Ich halte das nicht für ein Problem.

Boltcard in Receive-Menü an das Handy halten

Erwartet: Gleiches verhalten wie im Hauptmenü.

Tatsächliches Ergebnis: Fehlermeldung „Enter an Amount first“.

Boltcard nach erstellen einer Invoice an das Handy halten

Erwartet: Betrag in der Invoice wird abgebucht. Fehlereldung bei self-payment.

Tatsächliches Ergebnis: Betrag wird abgebucht, auch bei self-payment.

Hinweis: Ich fände es gut wenn der Betrag noch mal direkt neben der Invoice stünde und auch etwas prominenter als im Eingabemenü. So weiß der Zahlende genau welcher Betrag abgebucht werden soll.

Boltcard in Send-Menü an das Handy halten

Erwartet: Fehlermeldung mit entsprechenden Hinweis, dass nur abgebucht werden kann.

Tatsächliches Ergebnis: Menü wechselt ohne Meldung zu „Receive“ und man kann einen Betrag Eingeben und dann abbuchen.

Hinweis:Ich denke das kann man schon mal übersehen wenn man eigentlich Sats schicken will. Man hat ja zunächst auf Send gedrückt.

Boltcard im „Scan QR“ an das Handy halten

Erwartet: Keine Erwartung, wollte diese Kombination nur testen

Tatsächliches Ergebnis: Menü wechseln auf „Receive“ und man kann einen Betrag zum abbuchen eingeben.

LNbits-generierten LNURLw-QR-Code Scannen

Erwartet: Wechsel ins „Receive“ Menü mit der Aufforderung einen Betrag zum abbuchen einzugeben, wobei der mögliche Maximalbetrag voreingestellt ist. Fehlermeldung falls es ein self-payment auslösen würde

Tatsächliches Ergebnis: Wechsel in ein Menü namens „LNRUL“ (ohne „Send“ oder „Receive“ zusatz) und der Fehlermeldung:

Unexpected character (at character 1)
<!doctype html>
^

LNbits-generierten LNURLp-QR-Code Scannen

Erwartet: Wechsel ins „Send“ Menü mit der Aufforderung einen Betrag zum einzahlen einzugeben. Ohne Voreinstellung eines Betrages. Fehlermeldung falls es ein self-payment auslösen würde

Tatsächliches Ergebnis: Exakt wie erwartet. Hier greif sogar die self-payment Fehlermeldung.

Zusätzlicher Bug

Wenn man im „richtigen“ Moment während die App einen QR-Code scannt/verarbeitet den „zurück“ Button drückt, dann wird die App komplett schwarz und muss neu gestartet werden um wieder nutzbar zu sein.

Zusätzlicher Featurevorschlag

Bei drücken des „Receive“ Button könnte im Receive-Menü gleich eine blanko-Invoice (also ohne Sat-Betrag) angezeigt werden, auf die beliebige Beträge geschickt werden können.

Danke für das strukturierte Feedback! Hier der Stand zu jedem Punkt:

1. Boltcard im Hauptmenü an das Handy halten

Das self-payment beim Abbuchen einer Bolt Card lässt sich technisch nicht zuverlässig erkennen, weil das über LNURL-withdraw läuft (nicht über eine normale Zahlung) und die Karte ja zur selben Wallet gehört. Da du es auch nicht als Problem siehst, würde ich das so lassen.

2. Boltcard in Receive-Menü an das Handy halten

Behoben. Wenn du ohne Betrag eine Bolt Card dranhältst, öffnet sich jetzt wie im Hauptmenü direkt das Abbuchen-Menü. Der Betrag bleibt dabei leer (der zulässige Bereich der Karte wird als Hinweis angezeigt).

3. Boltcard nach erstellen einer Invoice an das Handy halten

Der Betrag steht jetzt direkt über dem Invoice-QR (Sats und Fiat), damit der Zahlende genau sieht, was abgebucht wird. Zum self-payment: siehe Punkt 1, das ist beim Abbuchen bewusst nicht geblockt.

4. Boltcard in Send-Menü an das Handy halten

Behoben. Jetzt kommt zuerst ein Hinweis „Von einer Bolt Card kann nur abgebucht, nicht bezahlt werden“ mit Abbrechen oder Abbuchen. So wechselt es nicht mehr unbemerkt.

5. Boltcard im „Scan QR“ an das Handy halten

Gleiches Verhalten wie Punkt 4: derselbe Hinweis kommt jetzt auch hier vor dem Abbuchen.

6. LNbits-generierten LNURLw-QR-Code Scannen

Die App bekommt hier eine HTML-Seite zurück statt der LNURL-Daten. Könntest du mir bitte die aufgelöste URL von dem Fehlerbildschirm schicken (dort ist ein Kopier-Button neben der URL) oder den rohen Inhalt des LNURLw-QR-Codes?
Beispielsweise als „Spende“. Habe das Memo-Feld dafür temporär auf 500 Zeichen gesetzt. Das sollte hoffentlich genügen.

7. LNbits-generierten LNURLp-QR-Code Scannen

Top :+1:t3:

8. Schwarzbild beim Zurück-Drücken während des Scannens

Behoben. Der Bug entstand durch ein doppeltes Schliessen des Scan-Bildschirms, das ist jetzt abgefangen.

9. Blanko-Invoice bei „Receive“

Für „beliebiger Betrag“ gibt es bereits die wiederverwendbare Lightning-Adresse (LNURL-pay). Abhängig vom gesetzten Default unter „My Contact“, wird die jeweilige LNURL angezeigt. Eine automatische Blanko-Invoice bei jedem Öffnen von Receive würde den Server unnötig mit unbezahlten Invoices fluten. Würde ich daher eher nicht umsetzen.

Nochmals danke, dein Input hat sehr weitergeholfen!

Ok dann gehe wir mal alles von meiner Seite durch:

  1. Keine Änderung notwendig
  2. Behoben
  3. Behoben - Sehr schön auch, dass Sats und Fiat jetzt oben angezeigt werden und die Eingabemaske unten ist
  4. Behoben - Warnung 6. mit Bestätigung schön gelöst
  5. Behoben - Nachricht mit Bestätigung schön gelöst
  6. Link als Spende Geschickt. Ich habe auch noch mal etwas rum probiert und das Problem scheint nur bei der von LNbits generierten Version zum Ausdrucken aufzutreten. Bei den BECH32 und LUD17 Codes die in LNbits direkt selbst angezeigt werden funktioniert es.
  7. Keine Änderung notwendig
  8. Nicht geprüft, da nicht zuverlässig replizierbar.
  9. Guter Punkt und besser als meine Idee

Perfekt, das freut mich zu hören!
Punkt 6 ist nun auch behoben. Die von LNbits generierte Version zum Ausdrucken ist ein Web-Fallback-Link. Also eine normale „https://…“-Adresse, die den eigentlichen LNURL-Code im Parameter lightning= enthält. Die App hat vorher versucht, diese Webseite zu laden, statt den enthaltenen Code auszulesen, daher die HTML-Fehlermeldung.

Jetzt werte ich den „lightning=“ Parameter aus und verarbeitet den darin enthaltenen LNURL-Code direkt. Genau wie bei den BECH32- und LUD17-Codes, die LNbits direkt anzeigt. Damit funktionieren jetzt alle drei Varianten.

Nochmals vielen Dank fürs ausführliche Testen!

Ja jetzt geht es. Allerdings bekommt ich keinerlei Meldung, dass es erfolgreich war. Ich werde einfach nach Bestätigung des Betrages, den ich abbuchen will, wieder zurück zum Hauptmenü geschickt. Es hat dann zwar funktioniert, aber es gibt nichts, was mir zeigt, dass es funktioniert hat (außer ich schaue in die History).
Edit: Das scheint allgemein der Fall zu sein, nicht nur hier in diesem Fall. Eine Art „Success“ würde wahrscheinlich Sinn machen. Sowohl beim senden wie auch beim empfangen.

Ich habe noch etwas entdeckt. Wenn ich einen Invoice/read only Key nutze statt einem Admin Key und dann versuche damit Sats via LNURLp zu schicken, dann kommt beim bestätigen die Fehlermeldung „The server denied access. The voucher may already be redeemed, or your IP is blocked“.

Es gibt auch keinen Hinweis, dass es read only ist.
Wäre cool wenn read only wallets erst gar keine Send funktion anbieten und klar erkennen lassen, dass sie read only sind.

Ach ja, und das mit dem oben/unten Wischen zum ändern der Wallet ist cool, aber wenn man am Ende der Liste ist, dann kann man nichts weiter runter wischen. Erwartet hätte ich, dass es sich einfach dauerhaft rotieren lässt und dann wieder von oben anfängt.