转换为接口和转换为合同实例之间有区别吗



在solidity中,大多数智能合约将外部合约调用转换为接口(IERC20与ERC20(。两者之间的铸造有什么区别吗?

例如,如果我写

IERC20 Token = IERC20(tokenContractAddress);

在功能上有什么不同吗

ERC20 Token = ERC20(tokenContractAddress);

只是好奇在天然气成本、兼容性问题等方面是否有需要考虑的因素。谢谢!

如果您只想访问这些函数,可以使用其中之一。但在接口中,不能有状态变量,所以如果需要一些状态变量,可以强制转换为contract。

此外,接口不能继承其他约定或接口。也许合同是从contractB继承的,并且在您的合同中,您希望访问contractB。

相关内容

  • 没有找到相关文章

最新更新