Senden von Adresse zu Adresse in Bitcoin

Ich programmiere das Back-End für eine E-Commerce-Lösung, die Bitcoind-API bietet mir eine Möglichkeit, Geld an eine Bitcoin-Adresse zu senden:sendfrom <fromaccount> <tobitcoinaddress> <amount>

Wenn ich es richtig verstanden habe, wird dadurch Geld von einem Konto an eine Adresse überwiesen, aber ich sehe keine Möglichkeit, von Adresse zu Adresse zu senden. Ich habe keine Konten in meinem Backend-System implementiert und möchte dies auch nicht tun, da dies eine zusätzliche Komplexitätsebene darstellt, mit der ich mich jetzt nicht befassen möchte.

Ich nehme also an, dass dies Geld von jeder mit dem Konto verbundenen Adresse / Adressen abholen und an die angegebene Bitcoin-Adresse senden wird. Irgendeine Möglichkeit, das zu tun, was ich tun möchte?

Antworten (2)

Um die Transaktionsausgaben zu finden, die Sie ausgeben können

listunspent 0 99999999999 "[\"addressYouWantToSpend\"]"

Erstellen Sie dann den TX

createrawtransaction "[{\"txid\":\"txIdToSpend\",\"vout\":n}]" "{\"destinationAddress\":amountToSend, \"changeAddress\":changeAmount}"

Dann unterschreiben Sie den TX

signrawtransaction <hexStringProvidedBycreaterawtransaction>

Dann veröffentlichen Sie die tx

sendrawtransaction <hexStringProvidedBysignrawtransaction>
Würde ich die Gebühren nach der Transaktion nicht kennen? Dadurch kann ich nicht überprüfen, ob das Konto über genügend Guthaben verfügt, um die Gebühren für den Betrag zu zahlen, den er senden möchte.
Gebühr = utxo-Wert - zu sendender Betrag - Änderungsbetrag. Sie entscheiden also implizit über die Gebühr, wenn Sie changeAmount angeben. Nicht nach der Transaktion, sondern davor.
Nur um das klarzustellen, einige andere Optionen zum Erstellen von Transaktionen legen automatisch eine angemessene Gebühr fest. Hier müssen Sie die Gebühr selbst wählen.

Sie haben hier einige Möglichkeiten. Sie können eine Rohtransaktion erstellen, wie in einer anderen Antwort beschrieben, aber dies ist wahrscheinlich am schwierigsten und am einfachsten zu begehen (stellen Sie sicher, dass Ihre Eingaben und Ausgaben übereinstimmen!).

Eine andere Möglichkeit wäre, eine Eins-zu-Eins-Zuordnung von Adressen zu Konten zu erstellen.

Sie können auch Spiele mit dem moveBefehl spielen, Münzen von einem Konto auf ein anderes zu verschieben und dann von diesem Konto zu senden, aber das ist auch komplex.

Ich würde auch gerne Rohtransaktionen vermeiden. Ich habe darüber nachgedacht, ein Konto mit dem Namen zu verwenden CASHOUTund movedie Bitcoins von der Bestelladresse zu einer der CASHOUTAdressen zu verschieben, sobald ich das Produkt versende. Dann würde ich hinzufügen paytxfee=<amt>, bitcoin.confdamit ich im Voraus weiß, wie viele BTCs ich bezahlen werde, und mit diesen Gebühren rechnen, wenn ich an eine Adresse außerhalb des Servers auszahle, aber ich bin mir nicht sicher, ob das funktionieren würde. .