Ich möchte eine Bitcoin-Transaktion nur mit 'bitcoind' und 'bitcoin-cli' erstellen und signieren .
Ich kann eine Transaktion mit der RPC-API „ createrawtransaction “ erstellen , aber das Signieren mit „signrawtransaction“ schlägt fehl.
UPDATE : Ich habe es herausgefunden und mich selbst unten beantwortet. Achten Sie darauf, dass der scriptPubKey korrekt ist, und lassen Sie das Redewendungsskript für einfache Transaktionen leer.
Der private Schlüssel wird nicht in der eingebauten Brieftasche von Bitcoin gespeichert . Das heißt, das private/öffentliche Schlüsselpaar wurde (zum Beispiel) von einem Vanity-Dienstprogramm erstellt.
1AsJjnWg5QKBThM6mK9jZ8mmo6KUzDjRD
( From_Addr_1As
)1Mu5S5fuztimKZizvYZjKwpYfM9ZFf7zmo
( To_Addr_1Mu
)From_Addr_1As
: 4325a5db66cbc8e9ff6a585cd0e8a2288ea74f9b46d2972b93f63bbb7d09a23e
( Prev_Tx_4325
)New_Tx
Die Transaktion ( Prev_Tx_4325
) sendete 0,00187 BTC an From_Addr_1As
: https://blockchain.info/tx/4325a5db66cbc8e9ff6a585cd0e8a2288ea74f9b46d2972b93f63bbb7d09a23e - auch in der Adresstransaktionsansicht zu sehen https://blockchain.info/address/1AsJjnWg5QKBThZM6mKUzDjmmK6
Ich möchte 0,00186 BTC von From_Addr_1As
bis senden To_Addr_1Mu
. Die Gebühr von 0,00001 BTC ist inbegriffen.
$ ./bitcoin-cli -rpcpassword=123456 createrawtransaction '[{"txid":"4325a5db66cbc8e9ff6a585cd0e8a2288ea74f9b46d2972b93f63bbb7d09a23e","vout":0}]' '{"1AsJjnWg5QKBThM6mK9jZ8mmo6KUzDjRD":0.00186}'
Befehlsausgabe:
01000000013ea2097dbb3bf6932b97d2469b4fa78e28a2e8d05c586affe9c8cb66dba525430000000000ffffffff0190d60200000000001976a91401ddbca1a39b60b54fb671297a4a20a7681e017188ac00000000
Achtung: 'scriptSig' ist leer!
$ ./bitcoin-cli -rpcpassword=123456 decoderawtransaction 01000000013ea2097dbb3bf6932b97d2469b4fa78e28a2e8d05c586affe9c8cb66dba525430000000000ffffffff0190d60200000000001976a91401ddbca1a39b60b54fb671297a4a20a7681e017188ac00000000
Befehlsausgabe:
{ "txid" : "b1ff3da36a6d7c3aaaee41428a7e239baa6243e37d7e1db60ea022d9f994ec52", "version" : 1, "locktime" : 0, "vin" : [ { "txid" : "4325a5db66cbc8e9ff6a585cd0e8a2288ea74f9b46d2972b93f63bbb7d09a23e", "vout" : 0, "scriptSig" : { "asm" : "", "hex" : "" }, "sequence" : 4294967295 } ], "vout" : [ { "value" : 0.00186000, "n" : 0, "scriptPubKey" : { "asm" : "OP_DUP OP_HASH160 01ddbca1a39b60b54fb671297a4a20a7681e0171 OP_EQUALVERIFY OP_CHECKSIG", "hex" : "76a91401ddbca1a39b60b54fb671297a4a20a7681e017188ac", "reqSigs" : 1, "type" : "pubkeyhash", "addresses" : [ "1AsJjnWg5QKBThM6mK9jZ8mmo6KUzDjRD" ] } } ] }
Passt auf:
scriptPubKey
kopiert von derPrev_Tx_4325
redeemScript
bleibt leerer String: ""./bitcoin-cli -rpcpassword=123456 signrawtransaction "01000000013ea2097dbb3bf6932b97d2469b4fa78e28a2e8d05c586affe9c8cb66dba525430000000000ffffffff0190d60200000000001976a91401ddbca1a39b60b54fb671297a4a20a7681e017188ac00000000" '[{"txid":"4325a5db66cbc8e9ff6a585cd0e8a2288ea74f9b46d2972b93f63bbb7d09a23e","vout":0,"scriptPubKey":"76a91401ddbca1a39b60b54fb671297a4a20a7681e017188ac","redeemScript":""}]' '["5J34hLVaP9UAj4BcdbgYoPia93zzDfo8JhTzUN2tf8qqRiZqtjY"]' "ALL"
Befehlsausgabe:
{ "hex" : "01000000013ea2097dbb3bf6932b97d2469b4fa78e28a2e8d05c586affe9c8cb66dba52543000000008a47304402206f40f4eb8c6cab7c6dd45a132d437e736a6a0dddfb2b78b10e6efbcaf61592f602200d329a57d7a0c969cc349f41852da4ba1a3bc2245e656bdd41780455b97bf84a014104aa49fbe6608076318ff09171e3c2b4a2effa52d53a417371140642996693ae3ac53ce300fff7fef650d0a2418b087a237aa6838eed3bdfad0ec0069df7209f4affffffff0190d60200000000001976a91401ddbca1a39b60b54fb671297a4a20a7681e017188ac00000000", "complete" : true }
$ ./bitcoin-cli -rpcpassword=123456 decoderawtransaction 01000000013ea2097dbb3bf6932b97d2469b4fa78e28a2e8d05c586affe9c8cb66dba52543000000008a47304402206f40f4eb8c6cab7c6dd45a132d437e736a6a0dddfb2b78b10e6efbcaf61592f602200d329a57d7a0c969cc349f41852da4ba1a3bc2245e656bdd41780455b97bf84a014104aa49fbe6608076318ff09171e3c2b4a2effa52d53a417371140642996693ae3ac53ce300fff7fef650d0a2418b087a237aa6838eed3bdfad0ec0069df7209f4affffffff0190d60200000000001976a91401ddbca1a39b60b54fb671297a4a20a7681e017188ac00000000
Befehlsausgabe:
{ "txid" : "267550934eb413a623459464d88cb14ff47fa192df720cf8485b590812db8fba", "version" : 1, "locktime" : 0, "vin" : [ { "txid" : "4325a5db66cbc8e9ff6a585cd0e8a2288ea74f9b46d2972b93f63bbb7d09a23e", "vout" : 0, "scriptSig" : { "asm" : "304402206f40f4eb8c6cab7c6dd45a132d437e736a6a0dddfb2b78b10e6efbcaf61592f602200d329a57d7a0c969cc349f41852da4ba1a3bc2245e656bdd41780455b97bf84a01 04aa49fbe6608076318ff09171e3c2b4a2effa52d53a417371140642996693ae3ac53ce300fff7fef650d0a2418b087a237aa6838eed3bdfad0ec0069df7209f4a", "hex" : "47304402206f40f4eb8c6cab7c6dd45a132d437e736a6a0dddfb2b78b10e6efbcaf61592f602200d329a57d7a0c969cc349f41852da4ba1a3bc2245e656bdd41780455b97bf84a014104aa49fbe6608076318ff09171e3c2b4a2effa52d53a417371140642996693ae3ac53ce300fff7fef650d0a2418b087a237aa6838eed3bdfad0ec0069df7209f4a" }, "sequence" : 4294967295 } ], "vout" : [ { "value" : 0.00186000, "n" : 0, "scriptPubKey" : { "asm" : "OP_DUP OP_HASH160 01ddbca1a39b60b54fb671297a4a20a7681e0171 OP_EQUALVERIFY OP_CHECKSIG", "hex" : "76a91401ddbca1a39b60b54fb671297a4a20a7681e017188ac", "reqSigs" : 1, "type" : "pubkeyhash", "addresses" : [ "1AsJjnWg5QKBThM6mK9jZ8mmo6KUzDjRD" ] } } ] }
./bitcoin-cli -rpcpassword=123456 sendrawtransaction 01000000013ea2097dbb3bf6932b97d2469b4fa78e28a2e8d05c586affe9c8cb66dba52543000000008a47304402206f40f4eb8c6cab7c6dd45a132d437e736a6a0dddfb2b78b10e6efbcaf61592f602200d329a57d7a0c969cc349f41852da4ba1a3bc2245e656bdd41780455b97bf84a014104aa49fbe6608076318ff09171e3c2b4a2effa52d53a417371140642996693ae3ac53ce300fff7fef650d0a2418b087a237aa6838eed3bdfad0ec0069df7209f4affffffff0190d60200000000001976a91401ddbca1a39b60b54fb671297a4a20a7681e017188ac00000000 267550934eb413a623459464d88cb14ff47fa192df720cf8485b590812db8fba
Befehlsausgabe: Keine Ausgabe bei Befehlserfolg!
Durch das Erklären und Formulieren der Frage fand ich eine Lösung. Es lohnt sich wirklich, bei StackExchange nachzufragen, und ich bin selbst zur Antwort gekommen!
UPDATE : Vielen Dank für Kommentare - ich habe mir unten geantwortet. Stellen Sie sicher, dass scriptPubKey korrekt ist, und lassen Sie „redeedScript“ für einfache Transaktionen leer.
Beim Erstellen und Signieren einer rohen Bitcoin-Transaktion mit dem Programm „bitcoind“ kamen im Wesentlichen zwei Dinge in Frage:
Das ist alles.
Pieter Wuille
Jan Moritz
Murch
Benutzer10603