Solidity require

文章介绍了Solidity中的require语句用法,强调了良好实践包括提供错误信息,并提供了练习建议。

还有一个关键的 Solidity 关键字,然后我们就可以创建自己的 ERC20 代币了。

虽然我们可以使用 if 语句来检查函数的输入是否有效,或者调用函数的是否是 msg.sender,但更优雅的方式是使用 require 语句。require 语句在某些条件不满足时,会强制回滚交易。


contract ExampleContract {
    function mustNotBeFive(
        uint256 x
    )
        public
        pure
        returns (uint256) {
            require(x != 5, "five is not valid");
            return x * 2;
    }
}

Remix 中尝试上述代码。

需要注意的是,省略错误信息是有效的,但被认为是不良实践,因为这会使理解失败原因变得更加困难。


contract ExampleContract {
    function mustNotBeFive(
        uint256 x
    )
        public
        pure
        returns (uint256) {
            // 有效,但不推荐实践
            require(x != 5);
            return x * 2;
    }
}

你可以使用这种结构来确保 msg.sender 是预期的人。但你可以在以下问题中练习这一点。

练习问题

NotEnough

Owner

了解更多

查看 区块链训练营 ,以了解更多关于智能合约开发和代币标准的知识。

  • 原文链接: rareskills.io/learn-soli...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
RareSkills
RareSkills
https://www.rareskills.io/