微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

代币的以太坊 ERC-20 合约如何交互

如何解决代币的以太坊 ERC-20 合约如何交互

学习 solidity 和令牌开发。

我很难理解具有多个智能合约的代币如何相互交互。

我在 GitHub 上阅读了其他带有多个合约的代币,并在 OpenZeppelin 上查看了合约,但它们都显得有些孤立。

假设我们开发了一种代币,该代币具有供应量并使用地图跟踪钱包地址到金额。合同被释放并被赋予一个地址。管理员或特权方法通过所有者地址验证受到保护。然后我们发布第二个合约,需要对交易收取费用。

第二个(代币交易费用)合约如何与存储在第一个(代币合约)上的数据交互?第二份合同是否也需要验证所有权?

解决方法

以太坊上的任何合约都可以使用接口与任何其他合约进行交互。您可以从第一个合约的第二个合约中调用 ERC20 代币的方法,如下所示:

  1. 定义 ERC20 接口
interface ERC20 {
    function balanceOf(address account) external view returns (uint256);
}
  1. 使用接口和代币合约地址调用第一个合约的方法:
ERC20(tokenContractAddress).balanceOf(0xabcd....);

类似的方法可用于任何合同

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。