You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

比特币测试网交易广播超5小时未确认 多浏览器无记录问题求助

比特币测试网交易广播异常相关问题

问题背景

使用python-bitcoinlib库发送比特币测试网交易时,出现交易无法被全网识别、长期不确认的异常,具体现象如下:

  • 向chain.so服务推送交易的REST API调用返回成功,可在该平台查询到对应交易记录,但平台显示交易置信度(Confidence)为0%
  • 交易收款地址为BitPay测试网钱包地址,付款地址通过python-bitcoinlib的wallet.get_key()方法生成
  • 除chain.so外,其余区块链查询服务均无法检索到该笔交易,手动将交易提交至bitaps.com后仍无法在该平台查到相关记录,交易广播超5小时始终未获得确认

核心调用代码如下:

wallet = wallet_create_or_open(name='MainWallet', network='testnet', witness_type='segwit')
transaction = wallet.send_to(
  to_address=body.address,
  amount=decimal_to_satoshi(body.amount),
  fee='low', offline=True,
)
transaction.send(offline=False)

异常可能诱因

  • 交易手续费率过低:代码中设置fee='low'参数,而比特币测试网手续费率波动极大,若最终计算出的费率低于全网节点默认的最低转发阈值,节点会直接丢弃该交易,不会向相邻节点转发。
  • 交易本身不符合网络规则:存在签名错误、引用的输入UTXO已被花费、输入输出金额不匹配、隔离见证字段编码错误等问题,这类交易无法通过全节点的基础校验逻辑,不会被节点接收。
  • 广播链路故障:python-bitcoinlib内置的默认广播节点可能存在连接异常、版本过旧、自定义了严格转发规则等问题,导致交易仅被推送到chain.so单点存储,没有实际传播到测试网P2P网络中。

排查方向

  • 校验交易合法性:提取交易原始十六进制字符串,通过本地运行的Bitcoin Core测试网全节点,调用testmempoolaccept接口验证交易是否满足内存池准入要求,接口会直接返回交易被拒绝的具体原因。
  • 核对手续费水平:查询当前测试网的最低转发费率、常规打包费率,对比交易实际支付的费率,确认是否低于节点最低转发阈值。
  • 检查输入与签名有效性:逐笔核验交易引用的所有输入UTXO是否为未花费状态,隔离见证签名格式是否符合对应BIP规范,签名哈希是否覆盖全部要求字段,排除签名错误问题。
  • 验证广播链路:不依赖库内置的默认广播逻辑,手动将原始交易提交到多个独立的广播节点,根据返回结果判断交易传播是否正常。

chain.so置信度为0%的原因

chain.so的Confidence指标基于全网交易传播监测数据计算,核心参考维度包括转发该交易的节点占比、交易在全网内存池的停留时长、是否存在冲突双花交易等。0%置信度意味着平台未监测到任何第三方公开节点接收并转发该交易,交易仅暂存在chain.so自身数据库中,未进入测试网P2P网络,几乎不可能被矿工打包确认。

可靠的测试网交易广播、查询服务

  • 本地自建Bitcoin Core测试网节点:可靠性最高,通过本地RPC接口即可完成交易广播、状态查询、手续费率估算,不存在第三方平台数据不同步、缓存错误的问题。
  • Blockstream测试网区块浏览器:节点覆盖范围广,链上数据同步及时,支持交易广播、交易状态追踪、内存池数据查询。
  • Mempool.space测试网版本:可实时查看测试网内存池拥堵状态、动态手续费率推荐,支持交易广播与全生命周期状态追踪,数据准确性高。

内容的提问来源于stack exchange,提问作者Ivan Borshchov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 01:45:43