以太坊交易剔重规则
以太坊nonce
为了防止交易重复进行,以太坊要求每笔交易必须有一个nonce数值。nonce值从0开始递增,外部账户每发送一笔交易,nonce便加1。
以太坊处理nonce的规则:
- 当nonce太小(小于当前的nonce值),交易会被直接拒绝
- 当 nonce 太大,大于当前 nonce,交易会一直处于队列之中
- 当发送一个比较大的nonce值,然后补齐开始 nonce 到那个值之间的nonce,那么交易依旧可以被执行
- 交易队列只保存最多64个从同一个账户发出的交易,也就是说,如果要批量转账,同一节点不要发出超过64笔交易
- 当某节点 queue 中还有交易,但此时停止 geth 客户端,queue 中的交易会被清除掉
- 当前 nonce 合适,但是账户余额不足时,会被以太坊拒绝