Solidity 0.8.1 中的 ParserError,适用于 0.6.4

Posted

技术标签:

【中文标题】Solidity 0.8.1 中的 ParserError,适用于 0.6.4【英文标题】:ParserError in Solidity 0.8.1, works in 0.6.4 【发布时间】:2021-05-30 19:49:39 【问题描述】:

我正在尝试在 Solidity 0.8.1 中创建 ERC20 令牌 在这个函数中我得到解析器错误不知道为什么

它在 0.6.4 中完美运行,但在 0.8.1 v 中出现错误

  function setMinbalance(uint256 minimumBalanceInfinney) public onlyOwner 
            
       minBalanceForAccounts = minimumBalanceInfinney * 1 finney ;
   

【问题讨论】:

【参考方案1】:

finney 和 szabo 面额被删除。它们很少使用,并且不会使实际数量很容易看到。相反,可以使用像 1e20 或非常常见的 gwei 这样的显式值。

来源:https://docs.soliditylang.org/en/v0.8.0/070-breaking-changes.html#expressions


解决方案:

1 finney 替换为 1e15(因为 1 finney == 1000000000000000 wei)。

minBalanceForAccounts = minimumBalanceInfinney * 1e15 ;

【讨论】:

以上是关于Solidity 0.8.1 中的 ParserError,适用于 0.6.4的主要内容,如果未能解决你的问题,请参考以下文章

面向开发人员的 Solidity:Solidity 中的库

Solidity 中的事件触发

Solidity 中的内部/外部和公共/私人功能有啥区别?

Solidity中的字符串连接?

第140篇 solidity 中的异常

Solidity 中的字符串数组