使用 tron 和 tronbox 编译 openzeppelin ERC721 失败

问题描述

我希望有人可以帮助解决这个问题。我一直在尝试使用 solidity 和 tronBox 在 Tron 上学习智能合约,但在尝试创建 ERC721 令牌时遇到了问题。

我使用 openzeppelin 文档创建了非常简单的 ERC20.sol 合约,但在 openzeppelin 文档中发现 ERC721 合约出现错误

https://docs.openzeppelin.com/contracts/4.x/erc721

TypeError: Member "isContract" not unique after argument-dependent lookup in address.
   --> @openzeppelin/contracts/token/ERC721/ERC721.sol:375:13:
    |
375 |         if (to.isContract()) {
    |             ^^^^^^^^^^^^^
Compilation Failed. See above.

我最初认为可能是 solidity 版本的原因,但我已经更改了 solidity 并多次安装了相应的 openzeppelin 版本,并且其他版本的 openzeppelin 也出现了相同的错误

当前设置:

Ubuntu 20.04
tronBox version
TronBox v2.7.23
solidity v0.8.0 (tron-solc)
@openzeppelin/contracts  4.2.0
tronBox$ tail -n7  tronBox.js 
    compilers: {
      solc: {
        version: '0.8.0'
      }
    }
  }
}

完整输出

tronBox$  tronBox compile --network development
Compiling ./contracts/GameItem.sol...
Compiling ./contracts/Migrations.sol...
Compiling @openzeppelin/contracts/token/ERC721/ERC721.sol...
Compiling @openzeppelin/contracts/token/ERC721/IERC721.sol...
Compiling @openzeppelin/contracts/token/ERC721/IERC721Receiver.sol...
Compiling @openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol...
Compiling @openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol...
Compiling @openzeppelin/contracts/utils/Address.sol...
Compiling @openzeppelin/contracts/utils/Context.sol...
Compiling @openzeppelin/contracts/utils/Counters.sol...
Compiling @openzeppelin/contracts/utils/Strings.sol...
Compiling @openzeppelin/contracts/utils/introspection/ERC165.sol...
Compiling @openzeppelin/contracts/utils/introspection/IERC165.sol...

TypeError: Member "isContract" not unique after argument-dependent lookup in address.
   --> @openzeppelin/contracts/token/ERC721/ERC721.sol:375:13:
    |
375 |         if (to.isContract()) {
    |             ^^^^^^^^^^^^^
Compilation Failed. See above.

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

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