跳到正文
← 使用教程

NOWNodes 查不到 Bitcoin 交易:检查认证、verbose 和返回对象

链小知 · 进阶 · 核验 · 依官方文档整理

用公开 TXID 与既有脱敏记录,区分认证失败、raw hex、解码对象和节点查询范围,避免把返回结果或费用字段读错。

开始前准备

  • 准备 Bitcoin 主网公开 TXID,以及已有请求体、HTTP 状态、响应正文与读取时间;日志中的 api-key 已遮盖。
  • 没有真实响应时,可整理请求草稿和待补字段;官方示例不能替代真实交易、套餐权限或端点回执。

1. 确认主网入口与查询方法

在已有请求中确认主机是 btc.nownodes.io、HTTP 方法为 POST,JSON method 为 getrawtransaction。把网络和完整 TXID 单独保存,不用钱包地址、交易原文 hex 或页面截断字符代替 TXID。方法页的 abcd1234txid 是占位值。此处是读取 raw transaction 的方法;签名和广播方法属于其他操作。

检查结果:得到主网、POST、完整 TXID 和 method 四项对应记录。

2. 检查认证位置与权限

检查请求头是否有 api-key 和 application/json Content-Type,只记录认证头存在与否,不复制 key。BTC 专页明确使用 header;通用上手页展示的 Ethereum URL key 不证明 BTC 路径同样可用。若收到 422 Missing API_key,先查认证缺失;401 则检查已有 key 的有效性/产品权限。Start 并非开放全部节点,权限未知需保持待核。

检查结果:认证缺失、认证被拒和套餐权限未知分别记录。

3. 核对 verbose 的类型及请求 ID

将参数顺序核对为 [TXID, true] 或 [TXID, false],true 是布尔值而非字符串。false 或省略返回 hex,true 返回解码 JSON。保留原请求 ID 类型,响应对应原值;不要为匹配文档例把字符串改为数字。方法页混用协议例,需记录实际 jsonrpc;若采用 2.0,就按该规范校验,不能将 1.0 的 result/error:null 结构直接判成合格 2.0。

检查结果:参数类型、期望返回形态、协议版本与 ID 可追溯。

4. 先分类失败,再读取交易对象

保存 HTTP 状态和原正文:422/401 可能是纯文本,不能先强行当 JSON 解析。405 按网关方法或格式问题排查;500 与非空 RPC error 记失败。2.0 业务 error 即使出现在 HTTP 200 也不能算成功。官方 500 示例同时有 result 与非空 error,不因 result 看似完整就采纳;ID 不对应或协议结构异常也保留为异常记录。

检查结果:失败记录不会变成空交易、零确认或成功结果。

5. 对照 TXID、大小与确认字段

成功解码对象中先比对 txid 与输入,再分别保留 hash、size、vsize、weight、blockhash、confirmations 和读取时间。witness 交易的 hash 可不同于 txid,size 不必等于 vsize。confirmation/blockhash 是可选字段,缺失不自动填零。blocktime 按 Unix 时间解释;官方示例 time 与 blocktime 不一致,应标示例疑点,不能据其计算等待时长。

检查结果:交易身份、大小单位、可选确认字段与时间异常独立标注。

6. 区分未取得交易与查询范围不足

若真实错误是交易未找到,先核对网络/TXID,再核对服务实际历史索引范围。Bitcoin Core 30.0 的默认查询、txindex 和指定可用 blockhash 条件不同;这里只据此解释为什么某节点可能查不到,不据此断言 NOWNodes 开了 txindex。其专页只列 boolean verbose,不能照搬 Core 的第三参数或 verbosity=2。

检查结果:未找到结果保留原因待核,不直接认定交易不存在或未广播。

7. 把交易值、手续费和 API 用量分开

保留各 vout 的序号、脚本/地址与 value;Core 字段 value 单位为 BTC。输出总额不是交易手续费,缺完整输入前序输出不能算实际 fee;verbosity=2 的 fee/prevout 也不是该网关已确认能力。API 请求数量另按现有套餐记录盘点,整理失败类别与需要补取的字段,不把查询费用算成链上手续费。

检查结果:得到交易字段检查表、失败原因与未知历史/费用范围。

怎样确认完成

  • 能说明失败发生在认证、格式、RPC 业务还是历史查询范围,并保留原始状态。
  • 本教程为官方文档核验;未创建 key 或实际请求 RPC,端点实时可用性和真实交易状态未实测。

常见错误与边界

  • 文档截断 hex、空 vin/vout 及不匹配的 ID 都属于示例限制,不是实际交易证明。
  • 查询可见性、确认数与独立验证链上的包含关系不同;本方法响应不提供完整节点验证。
  • 照搬 EVM 客户端示例会掩盖 BTC 认证与参数差异,先核对最终 HTTP 请求。

本教程根据官方资料整理,尚未完成逐步操作验收。界面、支持范围及费用变化时,先核对官方说明。 纯文本版 · 提交纠错依据