Muss ich jede Eingabe in einer Rohtransaktion signieren?

Ich habe mich auf bitcoin.org über Rohtransaktionen informiert und es gibt zwei Beispiele Simple und Complex .

Was ich den bereitgestellten Informationen nicht entnehmen kann, ist, ob es notwendig ist, jede der Eingaben separat zu signieren, oder ob Sie einfach den gesamten TX mit einer signieren können.

Also zwei Beispiele:

  1. Eingang 1 kam von Adresse A und Eingang 2 kam von Adresse A.
  2. Eingang 1 kam von Adresse B und Eingang 2 kam von Adresse C.

Zum Beispiel 1, meine Annahme ist, dass ich einfach verwenden könnte

bitcoin-cli signrawtransaction RAW_TX

aber zum Beispiel 2 müsste ich verwenden

 bitcoin-cli signrawtransaction RAW_TX [] ["ADDR_B_PRIVATE_KEY"]
 bitcoin-cli signrawtransaction PARTLY_SIGNED_RAW_TX [] ["$ADDR_B_PRIVATE_KEY"]
Neben den Antworten unten befindet sich dies auf der TX-Ebene selbst, wenn keine Brieftasche verwendet wird: bitcoin.stackexchange.com/questions/41209/…

Antworten (2)

Muss ich jede Eingabe in einer Rohtransaktion signieren?

Technisch ja. Aber Software wie Bitcoin Core Client signiert alle Eingaben, bei denen die privaten Schlüssel bekannt sind. Und lassen Sie natürlich alle anderen Eingaben unsigniert/unberührt.

Sie können einfach verwenden

bitcoin-cli signrawtransaction RAW_TX

wenn sich die privaten Schlüssel aller Eingaben dieser Transaktion in Ihrem Bitcoin Core (oder Bitcoin) befinden.

Und was ist, wenn die Schlüssel nicht importiert werden (aber trotzdem bekannt sind)? Wie sollte es als Argument hinzugefügt werden? eine Liste mit jedem Schlüssel, alle in der gleichen Reihenfolge wie die Ausgänge ?
@FeedTheWeb Tun Sie dies für jeden Schlüssel: importprivkey PRIVKEY "" false Vergessen Sie nicht, false einzugeben, und die Reihenfolge spielt keine Rolle. Wenn dies nicht funktioniert, führen Sie nach dem Hinzufügen jedes Schlüssels einen erneuten Scan durch (aber wahrscheinlich wird er nicht benötigt). Wenn Sie viele Schlüssel haben, schreibe ich Ihnen möglicherweise ein kleines Stück Code, das die PrivKeys aus einer Datei liest und importiert ihnen.
Und wenn ich nicht importieren/erneut scannen möchte (weil es ewig dauert), sollte die Syntax bitcoin-cli signrawtransaction RAW_TX [] ["PRIVKEY1", "PRIVKEY2"], richtig sein?
@FeedTheWeb Nein, importprivkey PRIVKEY "" falsewird nicht erneut gescannt, da das letzte Argument rescan?, ist false. Und Sie haben Recht, Sie müssen den Privatschlüssel nicht importieren, Ihr Befehl ist korrekt.