Ich baue eine App, und das Design ist, dass die "Willkommensseite" einen QR-Code enthält, der es dem Benutzer ermöglicht, eine einmalige Nutzung der App zu erwerben.
Blockchain.info ermöglicht es Ihnen bequem, xpub zum Generieren von Adressen zu verwenden, aber ihre Dokumente erwähnen BIP 44 und das "Lückenlimit" ... Dies ist sofort ein Problem, wie ich mir vorstellen kann, sagen wir, 30 Benutzer gehen gleichzeitig auf die App (mehr realistischerweise gehen 30 Benutzer auf die App unter der Zeit, die ein einzelner Benutzer für den Kauf benötigt), 20 werden Bitcoin-Adressen zum Kauf präsentiert, 10 werden nicht aufgrund der API-Wurf-Gap-Limit-Fehler angezeigt.
Welche Möglichkeiten habe ich um das zu umgehen?
Andere haben mir vorgeschlagen, einfach manuell ein paar private Schlüssel zu generieren und xpub nicht zu verwenden, aber all diese Einzeltransaktionen pro Adresse manuell konsolidieren zu müssen, klingt einfach wie ein absoluter Albtraum, den ich vermeiden möchte.
AKTUALISIEREN
Gibt es überhaupt eine Möglichkeit, dieselbe Adresse jedes Mal wiederzuverwenden, aber eine Anleitung daran anzuhängen, damit ich sie mit der Sitzung eines bestimmten Benutzers verknüpfen kann, wenn ich die gesendete txn sehe? Das ist wirklich alles, was ich brauche. Ich brauche kein xpub.. Ich brauche nur eine Möglichkeit zu identifizieren, dass Benutzer A und Benutzer B beide die Willkommensseite anzeigen, Benutzer A nicht bezahlt, Benutzer B bezahlt, Benutzer B automatisch Zugriff erhält, Benutzer A nicht .
Probleme im Zusammenhang mit dem Lückenlimit, wie in diesem Blogbeitrag zusammengefasst . Grundsätzlich haben Sie wenige Möglichkeiten
Hier ist meine Lösung.
Wenn das Lückenlimit erreicht ist, hängen Sie einen zufälligen und eindeutigen Satoshi-Betrag an den gesamten Bitcoin-Betrag an und verknüpfen Sie ihn mit dem Benutzer.
Wenn Ihr Produktpreis beispielsweise 0,001 BTC beträgt, generieren Sie einen Betrag wie 0,00100001 für Benutzer A und 0,00100002 für Benutzer B, wobei beide dieselbe Adresse verwenden, wenn die Lücke erreicht ist.
Für Benutzer A verwenden Sie nun die Receive-API von Blockchain.info. In der Datenbank erfassen Sie Benutzer A, Preis und Adresse.
Im Fall von Benutzer B verwenden Sie nun die Saldoaktualisierungs-API. In der Datenbank erfassen Sie auch Benutzer B, Preis und Adresse.
Wenn Sie also die Benachrichtigung erhalten, können Sie überprüfen, welcher Benutzer die Zahlung vorgenommen hat, indem Sie den gezahlten Betrag überprüfen.
*ok*
für Ihren Rückruf zurück. Der zweite Benutzer sendet Geld und die Brieftasche führt keinen Rückruf durch, da Sie *ok*
zuvor für diese Adresse zurückgekehrt sind. überwacht also nicht mehr. es bedeutet, dass Sie nicht einmal den zweiten bezahlten Benutzer kennen können!
pebwindkraft
Patrick
MCCCS