首页 > 解决方案 > 在传输函数中使用自定义参数创建 ERC20 代币

问题描述

我已经使用以下代码创建了 ERC20 令牌及其工作正常

https://ropsten.etherscan.io/address/0x299d8c3672b95f5a38af9a8d69590c4546219859#code

问题我想在传输erc20令牌时添加一个自定义参数,所以我在传输函数中添加了一个参数项目类型,如下所述

https://ropsten.etherscan.io/address/0x869Ac98EC03f220F6C49AaD2AabA4ad53924e74B#code

每当我尝试从 metamask 或使用 web3 的应用程序传输一些令牌时。交易失败。有人面临同样的问题吗?

问候 Manikandan C

标签: angularjsnode.jsblockchainethereumsolidity

解决方案


ERC20接口不是一段代码。这是程序员之间关于合同应该是什么样子的协议。

程序员群体之间的协议通常被称为“标准”。这就是为什么 ERC20 通常被称为代币标准。

在代码中,该标准被实现为一个接口,因此编译器可以检查您是否符合该标准。

如果你改变了接口,你就改变了标准。因此,您编程的不再是 ERC20 代币。因此,其他软件拒绝接受智能合约作为 ERC20 代币并不奇怪,因为它不是 ERC20 代币。

如果你想进行修改

应该注意的是,接口只强制执行必须实现的内容。您要添加的任何功能都没有限制。因此,您可以根据需要随意添加specialTransfer()功能。


推荐阅读