11K 以太坊 ethereum hardhat : 挖矿模式

介绍
内存池行为
按 FIFO 顺序挖掘交易
删除和替换事务
使用 RPC 方法
hardhat Tutorials , hardhat 教程
Contact 联系方式

• 介绍

Hardhat Network 可以配置为 automine 块,在收到每笔交易后立即进行,也可以配置为 interval mining,定期挖掘一个新块,并包含尽可能多的待处理交易。

您可以使用其中一种模式,两者都可以,也可以都不用。默认情况下,仅启用自动挖掘模式。

当自动挖掘被禁用时,每个发送的交易都会被添加到内存池中,其中包含将来可以挖掘的所有交易。默认情况下,Hardhat Network 的内存池遵循与 Geth 相同的规则。这意味着,除其他外,交易的优先级取决于支付给矿工的费用(然后是到达时间),并且无效交易会被丢弃。除了默认的内存池行为外,还提供了可选的 FIFO 行为

禁用自动挖矿后,可以通过 eth_getBlockByNumber RPC 方法(以 "pending" 作为块号参数)查询挂起的交易,可以使用 hardhat_dropTransaction RPC 方法删除它们,可以通过提交替换它们具有相同随机数的新交易,但支付给矿工的费用增加了 10% 以上。

如果两种挖矿模式均未启用,则不会挖出新区块,但您可以使用 evm_mine RPC 方法手动挖出新区块。这将生成一个包含尽可能多的待处理事务的新块。

• 内存池行为

当自动挖掘被禁用时,每个发送的交易都会被添加到内存池中,其中包含将来可以挖掘的所有交易。默认情况下,Hardhat Network 的内存池遵循与 Geth 相同的规则。除其他外,这意味着:

  • 首先包含 Gas 价格较高的交易
  • 如果可以包含两笔交易并且都向矿工提供相同的总费用,则首先包含最先收到的交易
  • 如果交易无效(例如,它的 nonce 低于发送它的地址的 nonce),则交易被丢弃。

您可以使用“待处理”块标签获取将包含在下一个块中的待处理交易列表:

const pendingBlock = await network.provider.send("eth_getBlockByNumber", [
  "pending",
  false,
]);

• 按 FIFO 顺序挖掘交易

Hardhat Network 的内存池订购交易的方式是可定制的。默认情况下,它们按照 Geth 的规则进行优先级排序,但您可以启用 FIFO 行为,以确保事务按照发送顺序添加到块中,这对于从其他网络重新创建块很有用。

您可以在配置中启用 FIFO 行为:

networks: {
  hardhat: {
    mining: {
      mempool: {
        order: "fifo"
      }
    }
  }
}

• 删除和替换事务

可以使用 dropTransaction 网络助手删除内存池中的事务:

const txHash = "0xabc...";
await helpers.dropTransaction(txHash);

您还可以通过发送一个新的交易来替换一笔交易,该交易的随机数与它已经在内存池中的交易相同,但 gas 价格更高。请记住,就像在 Geth 中一样,要使其生效,新的 gas/费用价格必须至少比当前交易的 gas 价格高 10%。

• 使用 RPC 方法

您可以使用两种 RPC 方法在运行时更改挖掘行为:evm_setAutomineevm_setIntervalMining。例如,要禁用自动挖掘:

await network.provider.send("evm_setAutomine", [false]);

并启用区间挖掘:

await network.provider.send("evm_setIntervalMining", [5000]);

• hardhat Tutorials , hardhat 教程

CN 中文 Github hardhat 教程 : github.com/565ee/hardhat_CN
CN 中文 CSDN hardhat 教程 : blog.csdn.net/wx468116118
EN 英文 Github hardhat Tutorials : github.com/565ee/hardhat_EN

• Contact 联系方式

Homepage : 565.ee
微信公众号 : wx468116118
微信 QQ : 468116118
GitHub : github.com/565ee
CSDN : blog.csdn.net/wx468116118
Email : [email protected]

猜你喜欢

转载自blog.csdn.net/wx468116118/article/details/126026369