Ich möchte Code schreiben, der eine Transaktion akzeptiert und anschließend einen bestimmten Betrag an den Ursprung der Transaktion "zurückzahlt".
Angenommen, die Benutzer verwenden den Standardclient. Haben Transaktionen eine einzige Eingabe oder muss ich mit der Situation umgehen, in der eine Transaktion mehrere Eingaben hat?
Kann ich einfach eine dieser Eingaben auswählen und an diese Eingabe zurückzahlen? Ich möchte vermeiden, dass Benutzer aufgefordert werden müssen, eine Auszahlungs-Bitcoin-Adresse einzugeben – es ist so viel sauberer, einfach an dieselbe Adresse zurückzuzahlen, die sie verwendet haben.
Die Annahme, dass der Benutzer den Standardclient oder tatsächlich einen beliebigen Client verwendet, ist eine sehr starke Annahme. Wenn der Benutzer einen eWallet-Dienst wie Instawallet verwendet, wird der Benutzer das Geld aller Wahrscheinlichkeit nach nicht zurückerhalten, es wird vom Betreiber einbehalten und möglicherweise einem seiner anderen Kunden gutgeschrieben.
Selbst wenn die eingegebenen Adressen in irgendeiner Weise vom Benutzer kontrolliert werden, kann die Rückzahlung an eine von ihnen zu Verwirrung hinsichtlich der Zahlungsquelle führen - es sieht so aus, als ob die Zahlung für das war, womit die Adresse ursprünglich verknüpft war. Wenn es eine vom Benutzer kontrollierte Änderungsadresse gibt, wird diese eindeutig mit der Zahlung an Sie verknüpft, sodass die Informationen vorhanden sind, um sie zu identifizieren, auch wenn der Client sie möglicherweise nicht richtig anzeigt.
Da jeder Benutzer problemlos Bitcoins mit mehreren Adressen empfangen kann, können die von ihnen gesendeten Transaktionen mehrere Eingaben haben. Es gibt ein paar Fälle, die Sie berücksichtigen sollten:
Alles in allem sollten Sie Benutzern unterschiedliche Funktionalitäten zur Verfügung stellen, von denen wahrscheinlich jeder eine andere Adresse für seine Transaktionen verwendet, und sehen, welche häufiger verwendet werden.
Reißer234
Meni Rosenfeld