gpt4 book ai didi

ethereum - 单一合约中多个代币的 ERC20

转载 作者:行者123 更新时间:2023-12-05 03:09:26 27 4
gpt4 key购买 nike

我正在尝试制定一份契约(Contract),其中包含用于契约(Contract)不同方面的两种不同代币。我希望这两个 token 都能够符合 ERC20 标准,但我不确定如何为每个 token 指定唯一的变量和函数。

最佳答案

如果您考虑 ERC 20 token 的结构:https://github.com/ConsenSys/Tokens/blob/master/Token_Contracts/contracts/Token.sol ,你会看到你提出的建议虽然可能,但会有点困惑。但更重要的是,它会将您的代币合约转换为非 ERC20 代币

uint256 public totalSupply;将需要替换为映射或两个单独的参数。

管理余额也是如此,您需要更改每个方法的签名以采用附加参数来指定您想要的代币或为合约中的每个代币创建特定方法:

function balanceOf(address _owner) constant returns (uint256 balance);

需要是:

函数 balanceOf(address _owner, uint256 token_id) 常量返回 (uint256 balance);

函数 balanceOfTokenA(address _owner) 常量返回 (uint256 balance);

函数 balanceOfTokenB(address _owner) 常量返回 (uint256 balance);

但正如我所说,任何一种实现都会使您的代币合约成为非 ERC20 代币。


你最好拥有两份合约,这样两者都可以兼容 ERC20。如果您的要求是它们需要通过单个契约(Contract)进行交互,那么您可以编写第三个契约(Contract)来管理它们。

关于ethereum - 单一合约中多个代币的 ERC20,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42794962/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com