
区块浏览器把一笔交易摊开成几十个字段,多数人只看“成功”两个字就关掉了页面。但真正能回答“钱去哪了”“为什么失败”“谁动了我的代币”的,是另外四个字段。这篇用一次普通转账和一次授权做例子,把状态、确认数、value 与 input 讲清楚。
一、四个字段,四种问题
Status(状态)只回答一个问题:这笔交易执行成功还是回滚。成功不代表转账到位,只代表合约没有报错。
Confirmations(确认数)回答“还能不能反悔”。以太坊大约 12 秒一个块,交易所在 12 到 64 个确认之后才入账;6 个确认约等于 1 分钟。
Value回答“转了多少原生币”。注意它是 ETH/BNB 这类主币的金额,单位是 wei,18 位小数——显示 0.1 时,原始值是 100000000000000000。
Input Data回答“到底调用了什么”。这才是代币转账、swap、授权真正发生的地方,也是大多数人完全不看的一栏。
二、input 里藏着什么
input 以 0x 开头,前 4 个字节(8 个十六进制字符)是函数选择器,后面是参数。几个常见的选择器值得记住:`0xa9059cbb` 是 ERC-20 的 transfer,`0x095ea7b3` 是 approve,`0x23b872dd` 是 transferFrom。看到 `0xa9059cbb` 只是正常转账,看到 `0x095ea7b3` 就要回头确认金额是不是被设成了无限大。
参数部分同样是十六进制。代币金额要除以 10 的 18 次方(也有 6 位或 8 位小数的代币),地址则补零到 32 字节。看不懂十六进制没关系,浏览器的 “Decoded Input” 或 “Logs” 标签通常会把它们翻译成可读内容。

三、字段对照
| 字段 | 含义 | 常见误读 |
|---|---|---|
| Status | 执行成功 / 回滚 | 把“成功”当成“到账” |
| Confirmations | 已确认区块数 | 以为 1 个确认就不可逆 |
| Value | 原生币金额(wei) | 把 0 当成没转账,其实代币在 input 里 |
| Input Data | 调用的方法与参数 | 完全不看,错过无限授权 |
| Gas Used / Limit | 实际消耗 / 上限 | 以为失败就不扣 gas |
| Logs | 合约事件(Transfer 等) | 忽略它,找不到代币去向 |
四、五个场景,五种读法
普通转账:value 大于 0、input 为 0x、status 成功 → 主币已转出。
代币转账:value 为 0,input 以 `0xa9059cbb` 开头 → 看 Logs 里的 Transfer 事件确认金额与收款地址。
授权:input 以 `0x095ea7b3` 开头 → 第二个参数如果是 ffff…(64 个 f),就是无限额度。
Swap:input 指向路由合约,Logs 里有多条 Transfer → 中间经过了几个池子,滑点损失就在这些事件里。
失败交易:status 回滚但 gas 照扣 → 常见原因是滑点设得太小、授权不足或价格已变。
五、确认数到底要等几个
小额日常转账,3 到 6 个确认就够用;交易所在入账时通常要 12 到 64 个。大额跨链或场外结算,等行业惯例是等最终性——以太坊在合并后约 64 个区块(约 13 分钟)被视为经济最终。等得越久,回滚风险越低,但资金占用时间越长。
六、三个常见误区
“哈希对上了就没事”。哈希只能证明交易存在,不能证明金额和对象正确。要看 input 和 Logs。
“value 是 0 所以没转钱”。ERC-20 转账的 value 永远是 0,金额写在 input 和事件里。
“失败了应该退 gas”。计算已经发生,gas 不退;失败只退未使用的 gas limit 部分。
七、延伸阅读
- 链上授权到底授了什么:无限 approve、Permit2 与撤销的三步操作
- 交易卡在 pending 怎么办:nonce、加速与替换交易的规则
- 三明治攻击是怎么吃掉你的滑点的:MEV、排序权与四道防线
- 交易所提币该选哪个网络:ERC-20、TRC-20、BEP-20 的差别与五个踩坑点
常见问题
为什么我的交易显示成功,钱包却没收到?
多数是代币转账:value 为 0,金额在 input 与 Transfer 事件里。也可能是收款的代币合约不是你钱包默认显示的那个版本。
input 里的十六进制必须看懂吗?
不必全懂,但记住三个选择器就够用:transfer `0xa9059cbb`、approve `0x095ea7b3`、transferFrom `0x23b872dd`。
确认数 1 就安全了吗?
不安全。1 个确认仍可能被重组,交易所通常要求 12 个以上,大额结算等 64 个左右。
失败的交易能重发吗?
可以,但要先解决失败原因:提高滑点、补授权、或等价格稳定。直接原样重发通常还会失败。
Logs 里的 Transfer 和 input 有什么区别?
input 是你要求合约做什么,Logs 是合约实际做了什么。两者不一致时,以 Logs 为准。
说明:本文只讲工具使用方法与链上机制,不构成投资建议,也不对任何资产作判断。