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

整理：链小知（AI 辅助）
资料核对日期：2026-10-12
引用地址：https://lianxiaozhi.com/tools/guides/nownodes-bitcoin-raw-transaction-check
难度：进阶
核验方式：官方文档整理，未执行真实账户操作

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

## 使用工具
- [NOWNodes](https://lianxiaozhi.com/tools/nownodes) · [官方入口](https://nownodes.io/)

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

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

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

核对结果：得到主网、POST、完整 TXID 和 method 四项对应记录。
依据：[NOWNodes：Bitcoin 主网 getrawtransaction 参数与认证](https://docs.nownodes.io/btc/mainnet/rawtransactions-rpcs/getrawtransaction/operation-getrawtransaction-post/)

## 2. 检查认证位置与权限

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

核对结果：认证缺失、认证被拒和套餐权限未知分别记录。
依据：[NOWNodes：Bitcoin 主网 getrawtransaction 参数与认证](https://docs.nownodes.io/btc/mainnet/rawtransactions-rpcs/getrawtransaction/operation-getrawtransaction-post/)
依据：[NOWNodes：API key 获取与放置](https://docs.nownodes.io/welcome-to-nownodes-docs/how-to-get-started-with-nownodes-api-key/)
依据：[NOWNodes：共享与专用套餐](https://nownodes.io/pricing)

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

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

核对结果：参数类型、期望返回形态、协议版本与 ID 可追溯。
依据：[NOWNodes：Bitcoin 主网 getrawtransaction 参数与认证](https://docs.nownodes.io/btc/mainnet/rawtransactions-rpcs/getrawtransaction/operation-getrawtransaction-post/)
依据：[JSON-RPC 2.0：协议、ID 和错误](https://www.jsonrpc.org/specification)

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

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

核对结果：失败记录不会变成空交易、零确认或成功结果。
依据：[NOWNodes：Bitcoin 主网 getrawtransaction 参数与认证](https://docs.nownodes.io/btc/mainnet/rawtransactions-rpcs/getrawtransaction/operation-getrawtransaction-post/)
依据：[JSON-RPC 2.0：协议、ID 和错误](https://www.jsonrpc.org/specification)

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

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

核对结果：交易身份、大小单位、可选确认字段与时间异常独立标注。
依据：[NOWNodes：Bitcoin 主网 getrawtransaction 参数与认证](https://docs.nownodes.io/btc/mainnet/rawtransactions-rpcs/getrawtransaction/operation-getrawtransaction-post/)
依据：[Bitcoin Core 30.0：raw transaction 查询条件与字段](https://bitcoincore.org/en/doc/30.0.0/rpc/rawtransactions/getrawtransaction/)

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

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

核对结果：未找到结果保留原因待核，不直接认定交易不存在或未广播。
依据：[Bitcoin Core 30.0：raw transaction 查询条件与字段](https://bitcoincore.org/en/doc/30.0.0/rpc/rawtransactions/getrawtransaction/)
依据：[NOWNodes：Bitcoin 主网 getrawtransaction 参数与认证](https://docs.nownodes.io/btc/mainnet/rawtransactions-rpcs/getrawtransaction/operation-getrawtransaction-post/)

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

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

核对结果：得到交易字段检查表、失败原因与未知历史/费用范围。
依据：[Bitcoin Core 30.0：raw transaction 查询条件与字段](https://bitcoincore.org/en/doc/30.0.0/rpc/rawtransactions/getrawtransaction/)
依据：[NOWNodes：共享与专用套餐](https://nownodes.io/pricing)

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

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

## 相关知识
- [区块确认与最终性是什么？交易成功和充值到账为何不同步](https://lianxiaozhi.com/learn/confirmations-and-finality)
- [比特币 UTXO 与找零：为什么转一笔账会出现多个输出](https://lianxiaozhi.com/learn/utxo-and-change)

## 官方依据
- [NOWNodes：Bitcoin 主网 getrawtransaction 参数与认证](https://docs.nownodes.io/btc/mainnet/rawtransactions-rpcs/getrawtransaction/operation-getrawtransaction-post/)
- [NOWNodes：API key 获取与放置](https://docs.nownodes.io/welcome-to-nownodes-docs/how-to-get-started-with-nownodes-api-key/)
- [NOWNodes：共享与专用套餐](https://nownodes.io/pricing)
- [Bitcoin Core 30.0：raw transaction 查询条件与字段](https://bitcoincore.org/en/doc/30.0.0/rpc/rawtransactions/getrawtransaction/)
- [JSON-RPC 2.0：协议、ID 和错误](https://www.jsonrpc.org/specification)
