朋友老周上周转USDT,对方催了三次,他截图给我看,tpwallet 链上区块里明明白白列着转出记录了,时间、地址、金额都对得上。可收款方就是没收到。我让他把交易哈希发来。丢进区块浏览器一查是状态是pending,确认数0。钱包界面显示成功,链上却连第一个区块都没进去的。

错位挺常见的,特别的在新手身上。具体看那笔交易,Gas费只设了1 Gwei。当时以太坊主网拥堵,矿工优先打包高费交易。1 Gwei连门槛都够不着。

交易一直躺在内存池里,六个小时没动。老周以为tpwallet 链上区块的“转出”就等于到账,其实那只是本地签名后广播出去的记录,还没被矿工写进区块。他问我能不能撤的,我说撤不了,只能加速或者等。我让他打开加速功能,把Gas提到30 Gwei的。重新广播后。三分钟就进了区块。

确认数0跳到12,对方那边也显示还有账的。有个细节,加速其实是发一笔相同nonce的新交易,把旧交易替换掉。老周之前不知道nonce是什么啊?

我解释成“排队号码”,同一个号只能有一个交易被确认,他才明白。这事让我更信一条的,钱包界面的状态是参考,tpwallet 链上区块的数据才是底稿。转账卡住先查哈希,看确认数的,不要急着重复转。链上不会骗人。会因为Gas和拥堵让你误判。老周后来养成习惯,每笔大额都先小额试一笔,再全量发。费点手续费,省心了。