Bitcoin SV 技术文章封面图

用 WhatsOnChain 查看 BSV 交易:从 txid 到链上结构的完整指南

本文教你如何使用区块浏览器 WhatsOnChain 查看交易详情,理解 inputs、outputs、脚本、手续费等核心概念,并借助浏览器反向理解 SDK 的底层逻辑。

林知衡

林知衡

technical_editor

发布于 2026年6月16日3 分钟阅读

一句话理解

WhatsOnChain 是常用的 BSV 区块浏览器,可以用 txid 查看一笔交易的 inputs、outputs、脚本、金额、手续费和确认状态。

第一笔交易不能只停在控制台输出。你需要把代码返回的 txid 和链上真实交易对应起来,才能确认自己写出的交易到底长什么样。

txid 是什么

txid 是交易 ID。它用于标识一笔交易,也用于后续交易引用它的某个 output。

在 SDK 示例中,createAction() 返回结果里可能包含 txid。如果拿到了 txid,就可以拼接浏览器链接:

TypeScript
1if (response.txid) {
2 console.log(`View on WhatsOnChain: https://whatsonchain.com/tx/${response.txid}`)
3}

打开这个链接后,你看到的不是 SDK 的抽象对象,而是链上交易数据的浏览器展示。

应该看哪些字段

第一,看交易是否存在

如果 WhatsOnChain 查不到,可能是交易没有广播成功、还没有被浏览器索引、txid 复制错误,或者交易被拒绝。

第二,看确认状态

未确认交易表示它已经被看到或传播,但还没有进入区块。已确认交易会显示区块高度或确认数。不同浏览器展示方式可能不同。

第三,看 inputs

inputs 会引用之前的 UTXO。这里能看到这笔交易花掉了哪些旧 output。对新手来说,这能帮助理解“钱包自动选择 inputs”不是一句空话。

第四,看 outputs

outputs 是这笔交易创建的新输出。你可以检查自己的 OP_RETURN 数据输出是否存在,也可以看到找零 output。

第五,看脚本

如果是数据输出,你可能看到 OP_RETURN 和后面的十六进制数据。如果浏览器提供解析能力,也可能显示还原后的文本。

第六,看手续费

手续费通常等于 inputs 总额减 outputs 总额。浏览器可能直接展示 fee,也可能需要你根据金额计算。

用浏览器反推 SDK 做了什么

假设你的代码只写了一个 output:

TypeScript
1outputs: [{
2 satoshis: 100,
3 lockingScript: opReturnScript,
4 outputDescription: 'My first data output'
5}]

但浏览器里可能会看到更多结构:

TEXT
1input 1: 钱包选中的某个旧 UTXO
2output 1: 你的 OP_RETURN 数据输出
3output 2: 钱包生成的找零输出
4fee: 输入和输出之间的差额

这正好说明 SDK 和钱包自动做了底层工作。你没有手写 inputs、找零和手续费,但真实交易里必须有这些结构。

数据输出怎么看

如果你写入的是 Hello BSV!,浏览器里可能显示:

TEXT
1OP_RETURN <hex data>

把十六进制还原成文本后,才能看到原始消息。

例如:

TEXT
148656c6c6f2042535621

对应的 ASCII 文本是:

TEXT
1Hello BSV!

浏览器是否自动解析,取决于浏览器功能和数据格式。生产应用不能依赖浏览器的人工查看作为唯一索引方式。

浏览器不是 SPV 验证

在 BSV 技术栈里的位置

区块浏览器适合开发调试,但它不是协议意义上的信任最小化验证。

浏览器告诉你“这个服务看到了什么”。SPV 验证要检查交易、Merkle proof、区块头和工作量链之间的关系。

新手阶段可以先用 WhatsOnChain 建立直观理解:

TEXT
1代码返回 txid
2 -> 浏览器查交易
3 -> 对照 inputs / outputs / scripts / fee
4 -> 理解 SDK 抽象和链上结构

后续学习 SPV 时,要进一步理解:

TEXT
1交易是否存在于区块中
2 -> Merkle proof 如何证明
3 -> 区块头如何连接
4 -> 为什么不必信任完整区块浏览器

调试时的常见判断

  • 如果没有 txid,先看 SDK 返回结果和错误。交易可能没有被创建或没有被处理。
  • 如果有 txid 但浏览器查不到,先等待一段时间,再确认交易是否广播成功。
  • 如果输出数据不对,检查字符串是否正确转成 hex,脚本是否使用了 OP_RETURN
  • 如果交易失败,检查钱包资金、手续费、钱包连接、用户授权和网络状态。
  • 如果浏览器显示了找零 output,不要误以为多出了一笔陌生付款。那通常是钱包把剩余金额找回给自己。

新手常见误解

  • 区块浏览器不是你的后端数据库。应用需要自己的状态管理和查询逻辑。
  • 浏览器显示未确认,不等于最终确认。应用要根据业务风险决定是否等待确认或证明。
  • 查到 txid,不代表你已经验证了交易。浏览器查询和 SPV 验证不是同一件事。
  • 看见 OP_RETURN 数据,不代表数据可信。还要检查来源、签名和协议格式。
  • 找不到交易,不一定是交易不存在。也可能是浏览器索引延迟或广播失败。

参考来源

推荐文章