首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将一个公共变量改为私有变量,然后用一个公共函数读取它,如何节省汽油?

将一个公共变量改为私有变量,然后用一个公共函数读取它,如何节省汽油?
EN

Ethereum用户
提问于 2023-05-08 17:44:55
回答 1查看 21关注 0票数 0
代码语言:javascript
复制
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个(只适用于合同调用时的成本)

有什么原因吗?

EN

回答 1

Ethereum用户

发布于 2023-05-09 11:08:51

使用owner_2的getter函数与调用gettingPrivateVariable()在燃气成本(14个燃气单位)上的微小差异可能是由于这两个函数是如何在内部实现的。自动生成的getter函数可能有一些优化,使其比显式定义的函数略高一些。

当涉及到气体成本时,公共变量自动生成的吸气函数与自定义公共函数之间的变化是最小的。虽然这种优化可以帮助减少天然气消耗,但对整个天然气使用的影响可能并不显著。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/149983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档