Gas 追踪

Forge 可以帮助你估算合约将消耗多少 gas。

目前,Forge 提供了三种不同的工具来完成这项工作:

  • Gas 报告:Gas 报告为你提供了 Forge 认为你的合约中的各个函数将消耗多少 gas 的概览。
  • Gas 函数快照:Gas 函数快照为你提供了每个测试函数消耗多少 gas 的概览。
  • Gas 部分快照:Gas 部分快照让你能够捕捉测试函数内任意部分的 gas 使用情况。这还会追踪内部 gas 使用情况。你可以通过在测试中使用 snapshotGas* 作弊码来访问此功能。

Gas 报告、Gas 函数快照和 Gas 部分快照在某些方面有所不同:

  • Gas 报告使用追踪来确定单个合约调用的 gas 成本。这提供了更细致的洞察,但以速度为代价。
  • Gas 函数快照有更多内置工具,如差异对比和将结果导出到文件。快照并不像 gas 报告那样细致,但生成速度更快。
  • Gas 部分快照提供了捕捉 gas 使用情况的最细致方式。每个捕获的 gas 快照都会写入到 snapshots 目录的文件中。默认情况下,这些快照按测试的合约名称分组。