ETH上一笔交易没有被确认前不能发送下一笔?

在使用imToken中ETH转账过程中发现:上一笔交易没有被确认前不能发送下一笔交易。

我觉得对于规模化、公司化、批量化的并行处理时间成本特别高,建议能否并发处理转账交易功能,同时处理!(当然要保证足够的矿工费和余额)

3赞

为了防止双花(doble-spends),以太坊要求每一笔转账都有一个 nonce ,代表的是地址发送的交易数量
Nonce 使用的规则:

  1. 按顺序交易,nonce 为 1 的交易只能发生在 nonce 为 0 的交易后面,不能在 nonce 为 0 的交易前面被矿工确认。
  2. nonce 是连续的,不能跳过。当你发送了三笔交易(nonce0、nonce1、nonce2)如果nonce0和nonce1没有成功,那nonce2这笔交易会一直在队列中等待,当前两笔成功后才会执行nonce2的打包。
  3. 如果两笔交易 nonce 相同,其中一笔交易成功后,另外一笔交易就会失败。
    总结:以太坊网络上的转账, 手续费足够大才能保证「批量/连续发送交易」的成功执行。
5赞

学习了,谢谢!

1赞

2.0 有交易加速功能,当一笔交易矿工费设置的过低,可以通过加速功能加速这笔交易。

知识拓展:

imToken 1.0 如果同时发送两笔交易,其中一笔成功,另外一笔交易就会失败。是因为 1.0 中同时发送的交易 nonce 都是相同的,根据「nonce 是连续的,不能相同」的原理来分析,相同 nonce 的交易只要一笔成功了,另外的一定会失败。

imToken 2.0 支持了连续发送交易的功能。原理就是增加后发送的那笔交易的 Nonce 值。但是有一点务必注意!!!当你使用连续发送交易功能时,务必保证前面交易设置的矿工费一定要合理,否则前面的交易不打包,后面的所有交易都会卡死。

3赞

Thanks

1赞

受教了,碰见好帖反手就是一个赞:+1:

受教了

学习了,谢谢。:smiley:

imToken 的「浏览」里有一个批量转账的 DApp,叫「批量转币」可以看下

该主题在最后一个回复创建后24小时后自动关闭。不再允许添加新回复。