You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

以太坊私有网络挖矿报sealing paused while waiting for transactions错误如何解决

报错原因

你使用的是Geth的开发模式(--dev模式),该模式默认开启了按需出块规则:只有交易池内存在待打包交易时才会触发出块,无交易时挖矿会自动暂停,避免产生无意义的空块。你执行miner.start()时交易池为空,就会触发sealing paused while waiting for transactions警告,无法出块自然也不会产生挖矿奖励实现以太币增发。

另外补充:你查询到的默认账户1e+77量级的余额是--dev模式默认给开发者预分配的测试余额,正常测试场景下无需额外增发即可直接使用。

解决方法
  • 方案1:发起任意交易触发按需出块
    不需要修改节点配置,在geth控制台随便发起一笔链上交易,交易进入交易池后会自动触发挖矿出块,出块奖励会自动打入矿工账户(默认是eth.accounts[0]),示例命令:
    // 可选:如果账户锁定先解锁300秒,无密码的话密码参数填空字符串即可
    personal.unlockAccount(eth.accounts[0], "", 300)
    // 发起一笔0金额的自转账交易触发打包
    eth.sendTransaction({from: eth.accounts[0], to: eth.accounts[0], value: 0})
    
    交易发起后节点会自动完成打包出块,完成后查询账户余额就能看到对应的挖矿奖励增量。
  • 方案2:配置固定出块间隔
    重启节点时新增--dev.period 1启动参数,代表不管有没有交易,每隔1秒自动出块,无需等待交易即可持续挖矿:
    geth --datadir data/node1 --http --dev --dev.period 1 --http.corsdomain "*" --http.api web3,eth,debug,personal,net,miner --allow-insecure-unlock --mine
    
    按上述命令启动节点后,miner.start()会持续运行,不需要额外触发交易就能持续获得出块奖励。
  • 方案3:控制台强制允许空块挖矿
    不想重启节点的话,可以在geth控制台执行以下命令强制开启空块打包:
    // 先设置矿工账户为默认账户
    miner.setEtherbase(eth.accounts[0])
    // 启动单线程挖矿,允许打包空块
    miner.start(1)
    

内容的提问来源于stack exchange,提问作者Joey Yi Zhao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 20:36:02