【问题标题】:Solidity - ERC20 Legal VerbiageSolidity - ERC20 法律术语
【发布时间】:2021-04-30 18:18:58
【问题描述】:

在代码中的什么位置以及向我的 ERC20 智能合约添加法律措辞的正确方法是什么?

我见过一些示例,它保存在变量中,然后使用 memory 在函数体中引用该变量值。

contract MyToken is ERC20, Ownable {   
    string public processNumber = "0041518-41.1982.8.26.0053";
    string public legalBinding = "a lot, a lot of verbiage would go here";
    

    constructor() ERC20("MyToken", "MTK") {
        _mint(msg.sender, 9000000 * 10 ** decimals());
    }

    function mint(address to, uint256 amount) public onlyOwner {
        _mint(to, amount);
    }
    
  function setProcessNumber (string memory v) public onlyOwner() {
    processNumber = v;
  }

  function setLegalBinding (string memory v) public onlyOwner() {
    legalBinding = v;
  }

}

最后这两个函数是做什么的,它是被执行还是只是保存在内存中?

这是正确的做法吗?

有更好的方法吗?

开发人员通常会在代码中的什么位置添加此类信息?

如果我要保存包含所有法律用语的大量文本字符串。在 variable 上,我可以使用反引号将它们保存在模板文字上,以利用字符串内的多个换行符等吗?

【问题讨论】:

    标签: ethereum solidity remix erc20 binance-smart-chain


    【解决方案1】:

    我想逐点回答您的问题:

    1. 最后这两个函数是做什么的,它会被执行还是只是保存在内存中?
      这些函数基本上覆盖了这些变量的值,在您的情况下,默认情况下这些变量在合同一开始就被初始化。由于我们在这些函数上设置了 onlyOwner() 修饰符,因此只有所有者可以通过显式调用这些方法并提供必要的 Gas 成本来更改这些变量。

    2. 这是正确的做法吗?有点,是的

    3. 有更好的方法吗? 方法可以修改查看限制

    4. 开发人员通常会在代码的哪个位置添加此类信息? 如果您希望该值是一个常量,即在整个合同过程中不应该更改,请添加常量修饰符。另外,还可以添加使变量不可变,这意味着可以避免初始常量值字符串,并且变量只能在第一次运行时用常量值初始化,然后不能更改值。

    5. 如果我要保存包含所有法律用语的大量文本字符串。在变量上,我可以使用反引号将它们保存在模板文字上,以利用字符串内的多个换行符等吗? 是的你可以。请参考这里:https://docs.soliditylang.org/en/v0.8.0/internals/layout_in_storage.html?highlight=string

    希望对你有帮助!

    【讨论】:

    • 非常感谢,非常感谢 - 所以在 4. 我也可以将其设为常量,即 string constant myValue = "foo" (?) - 我还阅读了有关字符串的文档,但找不到方法编写多行而不会出现编译错误。我正在使用混音。不允许使用反引号作为语法,我想避免为我可能需要的每个换行符添加/n。您介意发布一个有关如何执行此操作的示例吗?
    • 实际上有两种方法可以实现它: 1. \n : 你不想使用它 2. 字符串内存 toReturn = "Some random string goes here " " and here ";更多可以从中阅读。 :docs.soliditylang.org/en/v0.8.0/…
    猜你喜欢
    • 1970-01-01
    • 2016-08-08
    • 2018-08-05
    • 2023-03-16
    • 1970-01-01
    • 2021-07-05
    • 2022-01-22
    • 2022-07-22
    • 1970-01-01
    相关资源
    最近更新 更多