Solidity 常量

文章介绍了在Solidity中使用constant关键字定义不可变变量,并提供了一个ERC20代币合约中定义最大供应量的示例代码。

不可变变量可以在构造函数中设置一次,但如果你有一个永远不会改变的数字怎么办?

与其他语言一样,Solidity 有 constant 关键字。这表示该值是固定的,永远不会改变。

假设你有一个 ERC20 代币,其铸造量永远不应超过 2200 万。

这是实现它的简洁方式

**contract ExampleERC20 {

    uint256 public constant MAX_SUPPLY = 22_000_000;
    // erc20 代码

    function mint(unint256 amount) external {
        require(totalSupply() + amount <= MAX_SUPPLY, "max supply exceeded");
        balanceOf[msg.sender] += amount;

        emit Transfer(address(0), msg.sender, amount);
    }
    // erc20 代码的其余部分
}**

请注意,22000000 写为 22_000_000。它们的含义相同,但后者更具可读性。数字中的下划线被简单地忽略。

了解更多

查看 Solidity 训练营 ,以了解更多关于智能合约开发和代币标准的内容。

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

0 条评论

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