pragma solidity ^0.8.0;
contract convertingVariables{
    address private owner;
    address public owner_2;
    constructor(){
        owner= msg.sender;
        owner_2= owner;
    }
    function gettingPrivateVariable() public view returns(address){
        return owner;
    }
}owner_2需要2514个气体(成本只适用于合同调用时),gettingPrivateVariable()需要2500个(只适用于合同调用时的成本)
有什么原因吗?
发布于 2023-05-09 11:08:51
使用owner_2的getter函数与调用gettingPrivateVariable()在燃气成本(14个燃气单位)上的微小差异可能是由于这两个函数是如何在内部实现的。自动生成的getter函数可能有一些优化,使其比显式定义的函数略高一些。
当涉及到气体成本时,公共变量自动生成的吸气函数与自定义公共函数之间的变化是最小的。虽然这种优化可以帮助减少天然气消耗,但对整个天然气使用的影响可能并不显著。
https://ethereum.stackexchange.com/questions/149983
复制相似问题