所以我想创建两种不同类型的 NFT,每一种都有自己的名字,但我不想创建两个不同的智能合约并复制我的代码。我不知道它是否可能,但值得一问。对不起,如果这是一个愚蠢的问题。
constructor(string memory _name, string memory _symbol) ERC721(_name, _symbol)
我像这样实例化它,所以也许可以实例化其中两个?身份证。谢谢 :)
这个问题很难理解,你想创建两个 ERC721 智能合约并将它们合并为一个(这样你就可以在一个合约中拥有集合 1和集合 2)?
如果你的意思是这个,有两个答案,一个长的,一个短的。
简短的回答:你根本不能
长答案:从基本的 ERC721 开始,您可以修改,最重要的是添加引用集合 1 和其他集合 2 的函数
但这会使您脱离 ERC721 标准,您的合同将不再确定,但最重要的是,非专家用户将无法看到和交互它们,已经脱离标准,没有现有的 Dapp 支持这样的事情,你应该创建自己的 Dapp。
部署合约时,您可以在string memory _name
字段中传入不同的名称