Согласно встроенной документации RPC подпись для createrawtransaction
: createrawtransaction [{"txid":"id","vout":n},...] {"address":amount,...}
.
Кодcreaterawtransaction
в биткойн-ядре для разбора входных данных :
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);
}
так как именно createrawtransaction
использует scriptPubKey
and redeemScript
?
Да, он принимает их (и любые другие параметры, которые вы хотите указать в JSON). Нет, они не используются --- и я не знаю, почему Гэвин использовал их в своем примере.
На странице примеров для разработчиков Bitcoin.org есть более подробный и актуальный пример расходования мультиподписного вывода P2SH .
Дуг Питерс
bananaColor=yellow
, чтобы убедиться). Я проверю предложенные вами примеры, спасибо!