比特币 JSON-RPC API 方法 createrawtransaction 返回“无效金额”

Posted

技术标签:

【中文标题】比特币 JSON-RPC API 方法 createrawtransaction 返回“无效金额”【英文标题】:Bitcoin JSON-RPC API method createrawtransaction returns 'Invalid amount' 【发布时间】:2020-11-05 15:33:18 【问题描述】:

我正在尝试使用比特币核心 API 创建交易。我使用这个请求:


  "method":"createrawtransaction",
  "params":
 [
  [
   "txid":"8d3c81d39d9d852b347490934b78f22137454706ea96c5cb61c1d1336d3c0440","vout":0,   
"txid":"abd5a3c9abf946d90730b37f2f0dd2eab48cf1520bdccf2174a57c49991b5f81","vout":0
  ],
  
   "2N2DgdTtbrfBg65c1DrnuzJnAvSWWr4gkNS":"0.00091644703125",
   "mqfU2qaG2BtrEqnovAbcRExvzHByvm1rPB":"0.0151"
  
 ]

但它返回错误:无效金额。 也许第一个输出的浮点值太长,但我从来没有发现它的长度限制。 有这种限制吗?还是有其他错误?

【问题讨论】:

【参考方案1】:

尝试删除金额值周围的引号。

来自


   "2N2DgdTtbrfBg65c1DrnuzJnAvSWWr4gkNS":"0.00091644703125",
   "mqfU2qaG2BtrEqnovAbcRExvzHByvm1rPB":"0.0151"

  
   "2N2DgdTtbrfBg65c1DrnuzJnAvSWWr4gkNS": 0.00091644703125,
   "mqfU2qaG2BtrEqnovAbcRExvzHByvm1rPB": 0.0151
  

【讨论】:

【参考方案2】:

您可能需要通过四舍五入来修正小数点后的位数并删除引号。我不确定你需要多少位数的比特币,但在我的情况下是 8。所以也许像


  "method":"createrawtransaction",
  "params":
 [
  [
   "txid":"8d3c81d39d9d852b347490934b78f22137454706ea96c5cb61c1d1336d3c0440","vout":0,   
"txid":"abd5a3c9abf946d90730b37f2f0dd2eab48cf1520bdccf2174a57c49991b5f81","vout":0
  ],
  
   "2N2DgdTtbrfBg65c1DrnuzJnAvSWWr4gkNS": 0.00091645,
   "mqfU2qaG2BtrEqnovAbcRExvzHByvm1rPB": 0.0151
  
 ]

【讨论】:

以上是关于比特币 JSON-RPC API 方法 createrawtransaction 返回“无效金额”的主要内容,如果未能解决你的问题,请参考以下文章

使用 Electrum JSON-RPC 发送比特币

使用 Rust 的比特币 cURL/JSON-RPC

如何最大化比特币 JSON-RPC 性能?

无法通过 JSON-RPC 将 GETBLOCKHASH 发布到比特币核心

比特币 PHP JSONRPC 权限被拒绝

金钱难寐,大盗独行——以太坊 JSON-RPC 接口多种盗币手法大揭秘