ethereum - Solidity返回函数为什么是常量?

标签 ethereum solidity

我刚刚开始扎实地工作。我有一个像这样的函数:

function get() constant returns (uint) {
    return storedData;
  }

这里constant关键字有什么用?我知道在这个键盘之后我们正在定义返回类型,但为什么它前面需要常量?是否有替代方案,例如 var

最佳答案

“constant”关键字意味着函数不会改变合约的状态,这意味着它不会改变任何数据,因此合约状态和数据保持......不变。

这样的函数在节点中单独执行时不会消耗gas(如果在改变合约状态/数据的函数内运行,它可能会增加gas消耗,因为这样的函数调用需要由矿工执行并包含在内)在一个 block 中。

关于ethereum - Solidity返回函数为什么是常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45867572/

相关文章:

ethereum - 声明错误 : Undeclared identifier - although it's present in ERC721. sol

javascript - 使用 Web3.js 将值(value)从 Solidity 合约转移到 Ganache 账户

python - 布朗尼/林克比 : Unable to expand environment variable in host setting

blockchain - 我们可以通过代币名称获取智能合约地址吗

javascript - 使用 Metamask 时检测 web3 默认帐户的更好模式

javascript - 以太坊 web3js 如何导入 "crypto-js"?

java - 如何使用java从solidity合约中获取值(value)

ethereum - 在安全帽契约(Contract)中导入 openzeppelin 错误

javascript - 如何检查地址是否允许接收ERC721?

ethereum - 使用 metamask 扩展名存储在 chrome 文件中的私钥和交易在哪里