比特币核心 - 如何在将 BTC 发送到地址之前获取交易大小

问题描述 投票:0回答:2

在将 BTC 发送到外部地址之前如何获取交易大小?

我正在使用比特币核心进行交易,我试图计算交易大小。 这样我就可以用它来估算交易费用。 但没找到方法

你能告诉我它的逻辑和方法吗?

transactions size bitcoin fee
2个回答
0
投票

您可以在代码中本地签署交易,而不是使用

bitcoind
。然后,您只需测量序列化为字节流的交易的大小即可。


0
投票

与其中之一签署交易后

  • signrawtransactionwithwallet
  • signrawtransactionwithkey
  • signrawtransaction
    ,这已被弃用并从 bitcoind 0.18.0 及更高版本中完全删除。

结果将返回十六进制值。在发送前使用

decoderawtransaction
查看您的交易。在结果中,它具有显示交易大小的“大小”属性。以下是 bitcoind 文档的片段。

...
  "txid" : "hex",           (string) The transaction id
  "hash" : "hex",           (string) The transaction hash (differs from txid for witness transactions)
  "size" : n,               (numeric) The transaction size
  "vsize" : n,              (numeric) The virtual transaction size (differs from size for witness transactions)
  "weight" : n,             (numeric) The transaction's weight (between vsize*4 - 3 and vsize*4)
 ...

但是,如果您计划以已知的费率广播交易,则应使用

fundrawtransaction
来指定交易的费率等。

© www.soinside.com 2019 - 2024. All rights reserved.