¿Crearawtransction acepta scriptPubKey y redimirScript como entradas?

De acuerdo con la documentación RPC incorporada, la firma para createrawtransactiones: createrawtransaction [{"txid":"id","vout":n},...] {"address":amount,...}.

Gavin en su ejemplo en 2 de 3 multisigs también está pasando scriptPubKeyy redeemScriptcomo entrada paracreaterawtransaction .

El códigocreaterawtransaction en el núcleo de bitcoin para analizar las entradas es:

 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);
 }

createrawtransactionEntonces, ¿cómo se usa exactamente scriptPubKeyy redeemScript?

Respuestas (1)

Sí, los acepta (y cualquier otro parámetro que desee especificar en el JSON). No, no los usa, y no sé por qué Gavin los usó en su ejemplo.

Hay un ejemplo más detallado y actualizado de gastar una salida multisig P2SH en la página de ejemplos para desarrolladores de Bitcoin.org .

De hecho, acepta cualquier cantidad de parámetros de entrada como descubrí en mis pruebas (incluso tuve que pasar un parámetro de entrada bananaColor=yellowpara asegurarme). Veré los ejemplos que me sugieres, ¡gracias!