所谓的区块链交易, 说通俗一点, 它就是一条记录着链上转账信息的流水账。从你点击发送按钮的那一刻起到最后成功上链为止,中间必须要经过广播、打包以及确认好多个环节。

有很多人都存在一种误解, 以为只要显示“发送成功”, 那就代表对方已经收到了钱。但事实上, 这笔交易可能还处在等待处理的队列之中, 这个时候资金并没有丢失, 仅仅是因为没有走完全套的流程罢了。

你的区块链tx为什么一直没到账?八成是这两步没走完

区块链tx为什么没到账

最普遍出现的情况, 就是大家支付给gas的fee太低了。在当前的网络状态,如果处于拥堵时期, 矿工这一方会优先去处理那些支付高费用的tx。所以, 你的这笔低费的tx就只能够被堆放在pending的池子里面进行等待。

要是以太坊主网刚好赶上了高频率的高峰期, 一旦卡住, 那就可能是持续半个小时甚至还更久一些的时间。这并不算是系统出了什么故障。这是因为机制本身就已经决定好了的。

还有一个比较容易被人们忽视的重要因素, 那就是广播延迟的问题。在你本地的节点上面已经明确显示了交易状态为已发送, 这并不等同于全网所有的节点都已经成功接收到了该信息。

在特定的情况下, RPC节点可能会因为一些技术故障或者异常状况, 导致交易数据根本没有被有效地传播扩散到整个网络中去, 此时用户需要耐心等待大概两三分钟的时间, 然后再重新对页面进行刷新操作, 这样一来, 交易记录往往会自然而然地出现在视野里面。

区块链tx查不到怎么办

先不要着急着重新发送。你要拿出那个txhash, 然后把去区块浏览器里面搜索一下, 如果是以太坊就使用etherscan来搜, 如果是比特币就使用blockstream来搜, 这两样东西都是免费的。

搜索出来的结果是pending, 这说明还在队列里面的时候, 耐心等就行就行;压根儿搜索不到这个结果的话, 大概率是广播失败了, 换一个节点重新广播一次。

要是你确认那个处于等待状态的交易已经等了太长时间的话, 最为彻底的处理法子就是去发送一笔使用相同的非ces序号以及把gas价格提高百分之二十的交易所需数据过来, 以此方式将它给替换掉, 这样的话原来的那笔交易会自动地就失效了。

大家绝对要避免在不做任何 nonce 修改的前提下直接重新发起交易这种操作, 因为这么做仅仅会导致白白浪费双倍的 gas 费用, 而新发起的那笔交易依然还是要继续处在排队等候的状态之中。

在下一次那个所谓的tx方面没有任何动静的时候, 你第一步要做的事情永远是去打开浏览器进行状态方面的查询工作, 要搞清楚问题究竟卡在哪个具体的步骤上, 然后通过这样的方式来决定自己是应该继续等待下去还是采取替换方案, 这样做肯定比不管不顾地反复重新发送节省了很多心思和精力。