Akzeptiert createrawtransction scriptPubKey und einlöserSkript als Eingaben?

Gemäß der integrierten RPC-Dokumentation createrawtransactionlautet die Signatur für: createrawtransaction [{"txid":"id","vout":n},...] {"address":amount,...}.

Gavin in seinem Beispiel auf 2-von-3-Multisigs ist auch Passing scriptPubKeyund redeemScriptals Eingabe fürcreaterawtransaction .

Der Code voncreaterawtransaction in Bitcoin Core zum Parsen von Eingaben lautet:

 BOOST_FOREACH(const Value& input, inputs) {
   const Object& o = input.get_obj();
   uint256 txid = ParseHashO(o, "txid");
   const Value& vout_v = find_value(o, "vout");
   if (vout_v.type() != int_type)
   throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter, missing vout key");
   int nOutput = vout_v.get_int();
   if (nOutput < 0)
   throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter, vout must be positive");
   CTxIn in(COutPoint(txid, nOutput));
   rawTx.vin.push_back(in);
 }

also wie genau benutzt createrawtransactionman scriptPubKeyund redeemScript?

Antworten (1)

Ja, es akzeptiert sie (und alle anderen Parameter, die Sie im JSON angeben möchten). Nein, es verwendet sie nicht – und ich weiß nicht, warum Gavin sie in seinem Beispiel verwendet hat.

Ein ausführlicheres und aktuelleres Beispiel für die Ausgabe einer P2SH-Multisig-Ausgabe finden Sie auf der Bitcoin.org-Entwicklerbeispielseite .

Tatsächlich akzeptiert es eine beliebige Anzahl von Eingabeparametern, wie ich in meinen Tests herausgefunden habe (ich musste sogar einen Eingabeparameter übergeben bananaColor=yellow, um sicherzugehen). Ich werde die von Ihnen vorgeschlagenen Beispiele überprüfen, danke!