当遇到 GAS 拥堵的情况时,交易可能会造成“卡住”的状态,从而发送方无法进行下一笔交易,接收方也收取不到转账,此时需要使用 加速 交易的功能
转账原理
在 BSC 上发生的每笔交易都有一个值叫 nonce,这个值用于计算一个址中发出的交易数量。一个地址里的所有转账会按照你发起转账的时间,给每一笔交易排序,从 0 开始计数。地址每发送一笔交易,交易的随机数 nonce 就会增加 1,而转入这个地址的交易则不会改变 nonce 值。并且以太坊转账的规则有下列几条
节点需要按照 nonce 值从小到大去打包转账,所以在 nonce 为 0 的交易未被节点打包前,nonce 为 1,2,3···的交易无论矿工费给的多高,都必须一直排队等着,所以当有一笔交易未完成,就无法进行下一笔,无法插队
nonce 是连续的,不能跳过。当 nonce 为 1 的交易没有发起时,nonce 不能从 0 直接跳到 2,即 nonce 为 2 的交易只能发生在 nonce 为 1 的交易后面。
如果有两笔交易 nonce 相同,其中一笔交易成功后,另外一笔交易就会显示被替代,转账失败。
加速交易
当交易发起后如果地址存在 Pending 的交易,可以点击 加速交易
点击加速交易,关闭当交易并发起一笔 nonce 值相同,但矿工费更高的转账,来覆盖原来的。这样这笔交易就会更快被打包,原来的转账则被 替代 掉,原交易会失败。
同理适用于 DAPP
当有多笔正在 pending 的交易时,可以重新点击转账进行新的一笔交易,该交易会已链上已确认 nonce+1 的序列发送,类似一个插队的行为,若该笔交易成功,则所覆盖的nonce 交易会被失败(Dropped & Replaced)