SafeMath降低了天然气成本?



我正在和另一个人开发一个项目,他正在使用SafeMath。

然后,我说,一旦我们使用固体版本^0.8.0就没有必要了,我认为如果我们删除SafeMath,它会减少气体。

但是,我们测试了使用和不使用SafeMath的代码。使用SafeMath的代码消耗更少的gas。

几乎相同的成本,但SafeMath代码使用更少的gas。

有意义吗?我不明白。

我测试了两个代码和SafeMath代码花费更少的gas。

您可能会看到其他影响gas成本的东西,比如函数名。以下是用Remix(稳定性0.8.7,未启用优化器)测量的两个合约的gas成本。无论哪种方式,这里有一些基准测试表明safemath并不更省油。我觉得你的测试出了问题。

pragma solidity 0.8.7;
import "@openzeppelin/contracts/utils/math/SafeMath.sol";
contract SafeMathTest {
using SafeMath for uint256;
// 382 gas
function a(uint256 x) external pure returns (uint256 sum) {
sum = x.add(1);
}
// 327 gas
function b(uint256 x) external pure returns (uint256 sum) {
sum = x + 1;
}
}
contract SafeMathTest2 {
using SafeMath for uint256;
// 372 gas
function b(uint256 x) external pure returns (uint256 sum) {
sum = x.add(1);
}
// 349 gas
function a(uint256 x) external pure returns (uint256 sum) {
sum = x + 1;
}
}

相关内容

  • 没有找到相关文章

最新更新