首页 > 观点 > 正文
欧意交易所

欧意交易所

全球前三大交易所之一,新用户注册最高可得230USDT奖励,同时可拆数字盲盒,100%可以获得数字货币,最高价值60000元

点击注册 进入官网

ERC721合约

编写合约

      在您选择的 IDE 中打开新目录并在其中创建一个名为GameItem.sol文件

o1bAm8T6MQF9EZRR828tWJK6pn3xy0XV7zWNO2B7.png

      我们分解一下这段代码的一些关键部分:

      在第 2 行中,我们定义了我们要使用的 Solidity 版本。

      从第 4-5 行开始,我们从OpenZeppelin导入必要的合约,以快速创建ERC721的实现,而无需“重新发明轮子”。导入的 2 个合同是:

      ERC721.sol: Non-Fungible Tokens的“vanilla”实现,已经实现了大量有用的辅助函数。有关详细信息,请参阅OpenZeppelin 的文档

      Counters.sol:提供只能递增、递减或重置的计数器,我们可以使用它们来跟踪铸造的总代币以及快速获取下一个铸造的 tokenId。

      接下来几行定义 NFT 合约本身,第 7 行定义 NFT 继承自 ERC721。请注意,Solidity 合约支持使用 mixin,并且可以同时继承多个不同的合约。稍后会详细介绍。

      第 8-9 行导入并声明一个计数器,我们将使用它来有效地跟踪合约中铸造的总代币。

      第11行定义了构造函数,它现在只是调用其父ERC721构造函数,并传入两个字符串:名称和符号。

      最后,我们定义了梦寐以求的awardItem函数。可以通过传递有效的收件人地址来调用此公共函数,以铸造新的 NFT。

      它增加我们当前的 TokenId 计数器

      使用 OpenZeppelin 的 safeMint 方法将 Counter 的下一个值创建到收件人最后,它将新生成的令牌的 ID 返回给调用者。

      最后,它将新生成的令牌的 ID 返回给调用者。

白话区块链|同步全球区块链资讯、区块链快讯、区块链新闻
本站所有文章数据来源:金色财经
本站不对内容真实性负责,如需转载请联系原作者
如需删除该文章,请发送本文链接至oem1012@qq.com

更多交易所入口

一站式注册各大交易所、点击进入加密世界、永不失联,币安Binance/欧易OKX/GATE.IO芝麻开门/Bitget/抹茶MEXC/火币Huobi

点击进入 永不失联
picture loss