Ошибка синтаксического анализа JSON в биткойн-кли signrawtransactionwithkey

У меня проблемы с попыткой подписать 2/3 multisig tx с первым закрытым ключом.

Что я делаю что-то не так или я что-то упустил для аргумента?

Формат команды:

/usr/bin/bitcoin-cli -testnet signrawtransactionwithkey "multisig_tx_hexstring" \"privatekey1\"  {\"txid\":\"id\",\"vout\":n,\"scriptPubKey\":\"hex\",\"redeemScript\":\"hex\"}

Заполнен:

/usr/bin/bitcoin-cli -testnet signrawtransactionwithkey "02000000017b0cd6ab6beebace32e00f27aea8092879e178a77d2d0e74d001e10b39f560d10100000000ffffffff0100093d000000000017a9145e235c002eb66a1c33abccfb805043a036baf7798700000000" \"cNoe7mVGEVFwUwQXuCJadosEVPYU5rcCVxzTr46gYWbWMD8gXR7b\"  {\"txid\":\"d160f5390be101d0740e2d7da778e1792809a8ae270fe032cebaee6babd60c7b\",\"vout\":1,\"scriptPubKey\":\"a9145c975f4c6d18fa1abd25018e1fa3c18e58c9e93b87\",\"redeemScript\":\"5221029558bd8bc6e0cac883cac93a420bf8e68e76e8e07944f6034e3c5eadd3f1a4db21038d217a8fa3960a3b3212bc545566c5c48add11003551cb23c0d744a13f9ab8272102fcd0e6ff324c7a3bc9a8e224d61cd9ccd244c54186848ca3035a54736a9780d653ae\"}

И ошибка:

error: Error parsing JSON:"txid":"d160f5390be101d0740e2d7da778e1792809a8ae270fe032cebaee6babd60c7b"
вам нужно упаковать объект JSON в кавычки `

Ответы (1)

Попробуй это:

Вам нужно предоставить закрытые ключи и utxo в виде массивов и убедиться, что они действительны в json и в кавычках.

$ /usr/bin/bitcoin-cli -testnet signrawtransactionwithkey "02000000017b0cd6ab6beebace32e00f27aea8092879e178a77d2d0e74d001e10b39f560d10100000000ffffffff0100093d000000000017a9145e235c002eb66a1c33abccfb805043a036baf7798700000000" '["cNoe7mVGEVFwUwQXuCJadosEVPYU5rcCVxzTr46gYWbWMD8gXR7b"]' '[{"txid":"d160f5390be101d0740e2d7da778e1792809a8ae270fe032cebaee6babd60c7b","vout":1,"scriptPubKey":"a9145c975f4c6d18fa1abd25018e1fa3c18e58c9e93b87","redeemScript":"5221029558bd8bc6e0cac883cac93a420bf8e68e76e8e07944f6034e3c5eadd3f1a4db21038d217a8fa3960a3b3212bc545566c5c48add11003551cb23c0d744a13f9ab8272102fcd0e6ff324c7a3bc9a8e224d61cd9ccd244c54186848ca3035a54736a9780d653ae"}]'

Итак, одинарные и двойные кавычки вместо обратной косой черты, понятно.
Кроме того, если я хочу подписывать по одному ключу за раз, нужно ли мне устанавливать для параметра sighashtype значение «SINGLE»?
Нет, вздох — это способ указать, что вы на самом деле хотите подписать, а не ключи, которыми вы хотите подписать. См. bitcoin.org/en/developer-guide#term-signature-hash .
нет проблем. Вы также можете предоставить JSON в кавычках в этом формате (избегая внутренних кавычек): "[\"privkey\"]"но мне кажется, что приведенное выше легче читать.