[{"data":1,"prerenderedAt":41},["ShallowReactive",2],{"blog-content-zh-how-to-read-a-block-explorer":3},{"slug":4,"title":5,"excerpt":6,"description":7,"bodyHtml":8,"howToSteps":9,"faqItems":25},"how-to-read-a-block-explorer","如何读懂区块浏览器：Etherscan、Solscan 与 Tonviewer","要读懂区块浏览器，把一个哈希或地址粘贴进 Etherscan、Solscan 或 Tonviewer，然后看状态、手续费和代币转账——这些字段才显示真正发生了什么。本文讲解如何核查总供应量、合约验证、你自己的授权，以及一次宣称的销毁是否真实。","如何读懂区块浏览器：在 Etherscan、Solscan 和 Tonviewer 上查看交易状态、手续费、代币转账与日志，以及供应量与合约验证、授权检查，还有如何审计一次宣称的销毁——例如 WATS 手续费模型背后的 ATS 销毁。","\u003Cblockquote>\u003Cp>要读懂\u003Cstrong>区块浏览器\u003C\u002Fstrong>，把一笔交易的哈希或一个地址粘贴进对应链的浏览器——Ethereum 用 Etherscan，Solana 用 Solscan，TON 用 Tonviewer——然后按顺序看四样东西：状态（成功还是失败）、所在区块与确认数、以该链原生币实际支付的手续费，以及代币转账记录，那是唯一能显示真正发生了什么转移的地方。浏览器并不是区块链本身；它是某一家公司对区块链所做的、经过索引且人类可读的视图，因此原始字段属于共识数据，而名称标签和风险提示则是浏览器自己的编辑性补充。正是这些字段把无从验证的说法变成可核查的事实：代币页面直接从合约读取总供应量，地址页面列出你授出的所有授权，而一次销毁只有在某个哈希显示代币抵达销毁地址、或总供应量确实下降时才算真实。最后这项核查适用于任何项目的数字，包括 WATS 手续费模型背后那笔把供应量从 100M 降向 30M 下限的 ATS 销毁——它发生在链上，因此能证明它的是上面那些公开浏览器，而不是 WATS 自己运行的任何东西。\u003C\u002Fp>\u003C\u002Fblockquote>\n\u003Ch2>区块浏览器究竟是什么\u003C\u002Fh2>\n\u003Cp>浏览器是一份可搜索、人类可读的区块链数据索引。它在每个区块产生时就把它接收进来，把内容解码成人能看懂的字段——状态、手续费、代币转账、合约源码——并在前面放上一个搜索框。不用账号，不用授权，也不收费：链上数据本来就是公开的，浏览器不过是大多数人使用的那个阅读界面。\u003C\u002Fp>\n\u003Cp>在浏览器上，一切都是链接：点开一个区块，看到它包含的交易；点开一个地址，看到它的历史；点开一个代币，看到持有它的每一个钱包。学会顺着这些链接走，才能把「相信我」式的说法变成你可以自己核查的东西，而本文余下的部分就是带你走一遍那些负责核查的字段。\u003C\u002Fp>\n\n\u003Ch2>区块浏览器和区块链是一回事吗？\u003C\u002Fh2>\n\u003Cp>不是——而且这个区别很重要。链本身是复制在成千上万个节点上的原始数据。浏览器则是某一家公司对这些数据所做的、经过索引的\u003Cem>视图\u003C\u002Fem>：它运行节点，把每个区块解析进数据库，再在上面加一层展示。你的钱包并不需要浏览器才能转移资金——它通过 \u003Ca href=\"\u002Fblog\u002Fwhat-is-an-rpc-node\">RPC 节点\u003C\u002Fa>读取链并向链写入，这也正是浏览器宕机或落后时钱包依然能完美工作的原因。\u003C\u002Fp>\n\u003Cp>原始事实——余额、交易、合约代码——在同一条链的任何浏览器上都应当一致。标签则不同：名称标注和风险标记是浏览器团队的编辑性补充，有用，但不是共识数据。请信任原始字段；把这些标注当作有帮助的意见。\u003C\u002Fp>\n\n\u003Ch2>交易页面怎么读？\u003C\u002Fh2>\n\u003Cp>把任意一笔交易的哈希粘进搜索框，你就能得到这笔交易完整的解剖图。值得按顺序阅读的字段是：\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>状态\u003C\u002Fstrong>——成功或失败。成功意味着代码执行完毕且没有回滚；一笔失败的交易什么也没改变，但手续费照付。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>区块与确认数\u003C\u002Fstrong>——它落在哪个区块，以及此后有多少区块在其之上被构建出来。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>发送方与接收方\u003C\u002Fstrong>——签名的地址和目标；对于代币转账，目标是代币\u003Cem>合约\u003C\u002Fem>，而不是收款人。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>交易手续费\u003C\u002Fstrong>——以该链原生币实际支付的金额。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>代币转账与日志\u003C\u002Fstrong>——合约发出的事件：哪些代币转移了、从谁到谁、数量多少。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>转账那一节才是回答「这笔交易究竟做了什么」的地方——一次兑换在池子之间路由时可能发出六七条转账。另外请注意状态没有告诉你的事：成功意味着已被打包并执行，而不是不可逆转。一笔交易是否仍可能被重排出链，是另一个问题，属于\u003Ca href=\"\u002Fblog\u002Fwhat-is-blockchain-finality\">区块链最终性\u003C\u002Fa>的范畴。\u003C\u002Fp>\n\n\u003Ch2>代币页面怎么读？\u003C\u002Fh2>\n\u003Cp>按合约地址搜索代币，而不是按代号——因为任何人都可以用任意名称发行代币——代币页面会显示真正重要的数字。\u003Cstrong>总供应量\u003C\u002Fstrong>是直接从合约读取的。\u003Cstrong>持有者\u003C\u002Fstrong>是浏览器统计的、有余额的地址数量，而持有者列表能显示集中度：三个钱包握着大部分供应量的代币，与分散在十万个地址上的代币，表现截然不同。\u003C\u002Fp>\n\u003Cp>\u003Cstrong>合约验证\u003C\u002Fstrong>是那个不动声色的信任信号。合约已验证意味着开发者上传了源代码，并且浏览器确认它能编译出链上那份一模一样的字节码——于是任何人都能读懂合约到底做了什么。未验证的代码并不自动等于恶意，但它剥夺了你核查的能力，而成熟的项目会把验证当作理所当然的事来做。\u003C\u002Fp>\n\n\u003Ch2>怎么检查你自己的授权？\u003C\u002Fh2>\n\u003Cp>搜索你自己的地址，你会得到完整的公开历史——更有用的是，你当前生效的\u003Cstrong>代币授权\u003C\u002Fstrong>：你授予各个合约代你动用代币的许可。Etherscan 就为此提供了专门的代币授权检查工具。给早已不再使用的合约留下的旧的、无限额的授权，是附着在一个地址上的经典慢性风险；一年检查几次，撤销你认不出来的那些，是几分钟就能做完的基本卫生。\u003C\u002Fp>\n\n\u003Ch2>那次代币销毁真的发生了吗？自己去查\u003C\u002Fh2>\n\u003Cp>项目很爱宣布销毁；而浏览器让你可以去审计它们。真正的\u003Ca href=\"\u002Fblog\u002Fwhat-is-a-token-burn\">代币销毁\u003C\u002Fa>有两种可公开验证的形态：代币被发送到销毁地址——一个没有已知私钥、余额任何人都能查看的地址——或者调用一个当场减少合约总供应量的销毁函数。去要那笔交易的哈希，打开它，自己把转账读一遍。如果代币只是转到了团队控制的钱包，那不是销毁——那是换了个标签。这个习惯可以推而广之：任何拿不出哈希来佐证的链上说法，都值得怀疑。\u003C\u002Fp>\n\n\u003Ch2>在 Solscan 和 Tonviewer 上有什么不同？\u003C\u002Fh2>\n\u003Cp>阅读能力是通用的；不同的是被阅读的对象。在 Solana 上，一笔交易是一组一起执行的\u003Cem>指令\u003C\u002Fem>，其中一个账户被指定为手续费支付方，代币存放在专门的代币账户中，而不是作为某一个合约内部的记录条目——而一笔交易到底有多「落定」，取决于 Solana 的承诺级别 processed、confirmed 和 finalized，而不是其上不断累加的区块数。在 TON 上，一切都是智能合约，包括你的钱包；一次转账是合约之间的一条\u003Cem>消息\u003C\u002Fem>链，失败时消息可以弹回，而每一种代币——一枚 jetton——都由一个按持有者划分的小型 jetton-wallet 合约保管。Tonviewer 会把这些消息链呈现为单一的流程。\u003C\u002Fp>\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>\u003C\u002Fth>\u003Cth>Ethereum — Etherscan\u003C\u002Fth>\u003Cth>Solana — Solscan\u003C\u002Fth>\u003Cth>TON — Tonviewer\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\n\u003Ctr>\u003Ctd>你阅读的单位\u003C\u002Ftd>\u003Ctd>区块中的一笔交易\u003C\u002Ftd>\u003Ctd>一组指令\u003C\u002Ftd>\u003Ctd>一条消息链\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>手续费的计价币\u003C\u002Ftd>\u003Ctd>ETH（gas）\u003C\u002Ftd>\u003Ctd>SOL（基础费加优先费）\u003C\u002Ftd>\u003Ctd>TON（gas、存储、转发）\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>代币模型\u003C\u002Ftd>\u003Ctd>余额记在代币合约内部\u003C\u002Ftd>\u003Ctd>按持有者划分的代币账户\u003C\u002Ftd>\u003Ctd>按持有者划分的 jetton-wallet 合约\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\n\u003Ch2>WATS 在其中的位置\u003C\u002Fh2>\n\u003Cp>WATS 不运营区块浏览器，而这正是恰当的安排：当证明一个钱包说法的是中立的第三方时，那些说法才更有分量。WATS 确实有一项说法属于本文的范畴。在 \u003Ca href=\"\u002Fhot-wallet\">WATS 热钱包\u003C\u002Fa>中，每一笔交易都以单一代币 \u003Cstrong>ATS\u003C\u002Fstrong> 计费，而不是各条链的原生 gas 币——在 EVM 链上通过 ERC-4337 paymaster，在 Solana 和 TON 上通过等价的手续费支付方。由于 ATS 是一枚 LayerZero OFT，一份余额即可覆盖 Ethereum、Arbitrum、Optimism、Base、Polygon、BNB Chain、Solana 和 TON，而收取的 ATS 会被销毁，使供应量从 100M 降向 30M 的下限。\u003C\u002Fp>\n\u003Cp>上面这句话，恰恰是本指南提醒你不要凭信任接受的那类陈述——所以别接受。用前一节的销毁核查法去查它：拿到一个哈希，在浏览器上打开，确认代币确实抵达了销毁地址，或者代币页面上的总供应量确实下降了。本文最终导向的实际做法，是选择那些说法经得起这种检验的工具，而 WATS 就是照着「让人这样读」来构建的——它是非托管的，私钥由你持有，WATS 从不持有任何私钥；手续费机制则写在 \u003Ca href=\"\u002Fats-fee\">ATS 手续费页面\u003C\u002Fa>上，用的是你可以去链上验证、而不是只能选择相信的措辞。\u003C\u002Fp>",[10,13,16,19,22],{"title":11,"body":12},"用哈希打开这笔交易","从钱包的活动记录里复制交易哈希，粘贴进正确那个浏览器的搜索框——Ethereum 用 Etherscan（它的姊妹浏览器覆盖了大多数其他 EVM 链），Solana 用 Solscan，TON 用 Tonviewer。如果你手上只有一个地址，就改为打开地址页面，按时间和金额在历史记录里找到那笔交易。把交易页面加入书签；哈希就是你的永久收据。",{"title":14,"body":15},"先读状态和手续费","在看别的之前，先看状态那一行：成功表示代码执行且未回滚，失败表示除了手续费被花掉之外什么都没变。然后读手续费本身——以该链原生币实际支付的金额——以及区块号和确认数，它们告诉你这笔交易被埋得有多深，也就是落定到什么程度了。",{"title":17,"body":18},"查看代币的转移与日志","往下滚到代币转账那一节，读一读究竟有什么转移了：哪些代币、多少数量、在哪些地址之间。这才是这笔交易的事实真相——一次兑换在池子之间路由时可能发出好几条转账。如果哪里看着不对，就打开日志：每个合约发出的原始事件，记录的是代码究竟做了什么，而不是某个界面声称了什么。",{"title":20,"body":21},"核实合约或供应量说法","用合约地址打开代币页面，永远不要用代号。确认合约已验证——源代码与链上字节码相匹配——并直接从页面读取总供应量。对于宣称的销毁，去要那笔交易的哈希，核查代币是否进了销毁地址、或供应量是否真的减少了；转到团队控制的钱包并不是销毁。",{"title":23,"body":24},"审计你自己的授权","搜索你自己的地址，逐一复查你历来授出的代币授权——也就是允许合约动用你代币的许可。有授权检查工具的浏览器就用它，重点找出你早已不用的合约仍持有的无限额度，凡是认不出来的一律撤销。把它变成每季度一次的习惯；陈旧的授权是一个地址所背负的最安静的风险。",[26,29,32,35,38],{"q":27,"a":28},"区块浏览器和区块链是一回事吗？","不是。区块链是复制在众多节点上的原始数据；浏览器是某一家公司对这些数据所做的、经过索引且人类可读的视图，以网站形式提供。浏览器可能落后，它们的名称标签和风险提示是编辑性补充，而非共识数据。原始字段——余额、交易、合约代码——在同一条链的任何浏览器上都应当一致，而真相的来源始终是链本身。",{"q":30,"a":31},"我该如何在区块浏览器上验证一次代币销毁？","去要那笔交易的哈希并打开它。真正的销毁会显示代币被转入销毁地址——一个没有已知私钥、余额任何人都能查看的地址——或者一次可见地减少了代币总供应量的销毁函数调用。然后查看代币页面：供应量应当比之前更低。如果代币只是转到了团队控制的钱包，那就什么也没销毁。同样的核查适用于 WATS 手续费模型背后那笔把供应量从 100M 降向 30M 下限的 ATS 销毁：WATS 陈述机制，而浏览器才是你确认它的地方。",{"q":33,"a":34},"为什么我的交易显示成功，代币却没到账？","先看交易页面的代币转账那一节——它显示的才是真正转移了什么，而成功只表示代码执行且未回滚，并不表示它做了你预期的事。如果转账就在那里，那可能只是接收钱包还没显示这种代币；添加合约地址通常就能解决。如果它指向的是另一个地址，请重新核对你实际把资金发去了哪里。",{"q":36,"a":37},"为什么钱包按代币向我收费，浏览器却把手续费显示成 ETH？","因为无论你被收取的是什么，网络永远是用它自己的币结算的。WATS 热钱包就是一个具体例子：它在 EVM 链上用 ERC-4337 paymaster、在 Solana 和 TON 上用等价的手续费支付方，把每一笔手续费都以 ATS 收取，所以浏览器的交易手续费字段依然显示原生 gas——那是由 paymaster 交出去的——而你实际花掉的 ATS 会作为一笔代币转账出现在同一笔交易的日志里。把这两个字段并排来读，是看懂该机制最清晰的方式：它改变的是由哪种代币付款，而不是区块空间的成本。",{"q":39,"a":40},"我所在的链该用哪个浏览器？","Ethereum 用 Etherscan，它的姊妹浏览器覆盖了大多数 EVM 链——Arbitrum、Optimism、Base、Polygon 和 BNB Chain 各有一个——此外 Solana 用 Solscan，TON 用 Tonviewer。因此一个多链钱包会同时横跨好几个浏览器：WATS 支持 Ethereum、Arbitrum、Optimism、Base、Polygon、BNB Chain、Solana 和 TON，所以要读完整的历史，就得为每条链打开对应的那个浏览器，而不是指望某个通用站点。在所有这些浏览器上，都请按合约地址而非代号来搜索代币，因为任何人都可以用任意名称发行代币。",1786059412379]