solidity中设置为memory和storage临时变量的区别

function totalSupply(uint256 _pid) public view returns (uint256) {
        PoolInfo storage pool = poolInfo[_pid];
        return pool.lpToken.balanceOf(address(this));
    }

这个函数里面的storage改成memory后,他们是什么区别呢?

请先 登录 后评论

1 个回答

Tiny熊
  擅长:智能合约,以太坊

storage 的数据在链上存储,比较贵。
memory 的数据在内存中存储,不占用链上空间(即不能永久存库数据),比较便宜。

因此在存储数据是差别分明显。

而仅仅读数据,他们的功能上没有什么区别,如果数据在不同的类型之间有转换,会需要消耗 一点gas 。

请先 登录 后评论
  • 1 关注
  • 0 收藏,4501 浏览
  • 钱二毛 提出于 2020-10-30 17:47