Geth'sendTransaction'在循环中进行大量事务时不能处理某些事务

时间:2017-07-19 04:36:54

标签: p2p blockchain ethereum

我们在一个循环中发出200个事务,用于将以太网从一个地址发送到另一个地址,所有事务都应该执行并返回成功或失败。

但是有些交易没有执行,即我们没有得到任何结果,这些交易既不成功也不失败。

重现行为的步骤

在一个循环中创建200个事务,以便将以太网从一个地址发送到另一个地址

eth.sendTransaction({
from: privateWeb3.eth.coinbase,
to: result,
value: privateWeb3.toWei(2, 'ether')
}

检查结果总数。 结果总数不会低于总数。给出的交易

1 个答案:

答案 0 :(得分:0)

这种情况的常见原因是重复的随机数。每个事务包括一个称为nonce的连续递增的数字。如果您生成的交易太快且geth没有足够快地更新,它将重用最后一个。因此,您将生成具有相同nonce的两个事务,在这种情况下geth将拒绝一个。