Solidity 0.8.1 中的 ParserError,适用于 0.6.4

问题描述

我正在尝试在 solidity 0.8.1 中创建 ERC20 代币 在这函数中,我收到解析器错误,不知道为什么

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

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

enter image description here

解决方法

芬尼和萨博面额被删除。它们很少使用,并且不会使实际数量很容易看到。相反,可以使用显式值,如 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 ;

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...