geth构建私链发生交易始终在txpool中挖矿不打包交易且后续交易积攒不打包的解决

tech2024-08-19  51

错误描述

如图,该账户发起的交易nonce为46的交易往后一直未打包,不管怎么挖矿都会打包不进区块链上。

解决方案

原因所在:以太坊中交易的nonce是指:

每个交易的发起方(账户)都有一个nonce记录自己发起交易的数量,可以通过eth.getTransactionCount(eth.accounts[0])查看目前的累计数。

而区块的nonce则是代表着挖矿难度,两者要分清楚。

首先查看自己目前txpool中阻塞的交易nonce:直接看第一个编号或者上面的eth.getTransactionCount都可以,上图为例是46

然后发起一个nonce与之相同且更加高gasPrice交易去覆盖它:

你的gasPrice设置要比之前的大,之前的可以在txpool.content中看到:

我就设置稍微大一点,出现交易hash则代表ok

设置小了会报错:

然后再挖矿,再次查询txpool,发现之前所有阻塞的交易都被丢弃了,不会在pending了。

最新回复(0)