问题描述
我希望有人可以帮助解决这个问题。我一直在尝试使用 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 (将#修改为@)