【问题标题】:Estimate tx size估计 tx 大小
【发布时间】:2021-07-07 12:06:39
【问题描述】:

我需要知道交易规模来计算用户将通过发送 BTC 花费的费用。我使用bitcoind 钱包和许多帐户,并使用sendtoaddress 调用发送BTC。有没有办法知道bitcoind 将使用多少输出来创建交易?或者在bitcoind 执行之前通过其他方式了解事务大小...

【问题讨论】:

    标签: rpc bitcoin bitcoind


    【解决方案1】:

    这种情况你需要自己创建交易

    有没有办法知道 bitcoind 将使用多少输出来创建交易?

    输出由您定义,我猜,您在这里寻找的是输入 (UTXO),示例 sendtoaddress 定义为创建具有一个输出的事务,而 sendmany 将创建一个具有您在参数中提供的多个输出。

    使用 RPC,您可以通过以下示例跳过输入选择:

    // creates a rawtransaction with no inputs
    bitcoin-cli createrawtransaction "[]" "{\"btc01...receiveraddress\":0.01}"
    // fund the transaction with the missing inputs and calculate the fee
    bitcoin-cli fundrawtransaction ...hash_response_from_createrawtransaction
    

    fundrawtransaction 将添加任何缺失的输入并计算您将在响应中看到的费用。

    如果您仍然想要交易大小,可以通过使用您生成的哈希调用decoderawtransaction 来获取它,或者只是通过哈希本身计算它,只需将哈希大小除以二。

    为了在创建交易时进行更多控制,我建议您使用listunspent 并自行选择输入

    文档: createrawtransaction

    值得看看这个transaction size calculator,以了解如何根据(输入/输出)输入计算交易大小。

    【讨论】:

      猜你喜欢
      • 2017-04-02
      • 2020-09-27
      • 2010-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多