创建角色可以通过以下命令来尝试: truffle exec scripts/fund-contract.js --network rinkebytruffle exec scripts/generate-character.js --network rinkebytruffle exec scripts/get-character.js --network rinkeby上面的命令可以通过随机数据创建一个新的角色! 根据你部署的频率,你可以通过改变get-character.js中的dnd.getCharacterOverView(1)命令来选择哪个角色,将0换成你喜欢的任何角色的tokenId。 以上命令提供了NFT的概览。因为调用返回的是大数字(big numbers),所以会看到BN,你可以把它们转为整型来查看它们是什么。或者你可以更进一步... 在Etherscan查看你可以免费获得一个Etherscan API密钥,并与链上的NFT进行交互。然后将ETHERSCAN_API_KEY设置为环境变量。 npm install truffle-plugin-verifytruffle run verify DungeonsAndDragonsCharacter --network rinkeby --license MIT这样就可以验证并发布你的合约,可以去它给你的Etherscan的Read Contract部分查看。 或者可以使用oneclickdapp,只需添加合约地址和ABI。可以在build/contracts文件夹中找到ABI。注意,ABI不是整个文件,只是写着ABI的部分。 部署到OpenSea创建好NFT后,我们需要给它们一个tokenURI。TokenURI是向世界展示NFTs数据的标准。可以让我们更容易存储图片等内容,不必浪费气力在链上存储它们。 TokenURI代表一个URL或其他唯一的标识符,它是一个带有一些参数的.json文件。 { "name": "Name for it ", "description": "Anything you want", "image": "https://ipfs.io/ipfs/HASH_HERE?file.png", "attributes": [...]}下载IPFS和IPFS伴侣(IPFS Companion)现在,我们将把这些图像和元数据存储在IPFS中。你需要 就会出现下面的图像:
 Chainlink精灵 添加图像到IPFSIPFS节点建立起来之后,就可以开始向它添加文件了。首先要上传我们NFT的图像。前往IPFS安装的 "files"部分。
 IPFS文件 这个D&D角色是什么样子的?将它添加到你的IPFS节点,然后 "Pin "它。现在,你可以随意pin一个空白的图片,或者随便任何东西。 添加元数据文件到IPFS然后需要将元数据JSON对象添加到IPFS中。需要从部署的代币中获取名称和属性。我们在create-metadata.js脚本中为做了一些工作。只需运行 truffle exec scripts/create-metadata.js --network rinkeby元数据会显示在metadata文件夹中。它现在只需要图片的URL!元数据是我们使用Chainlink VRF创建的随机数和统计数据。现在我们得到我们创建的图片的CID,并将其添加到元数据JSON文件中,然后将该文件也添加到IPFS中,并将其pin住!它看起来会像这样: Chainlink精灵JSON Pinata如果IPFS节点宕机了,或者关闭了计算机,我们将无法拉取元数据,所以我们需要一种方法来保持它们pin的状态,并让其他节点托管数据。这就是Pinata的作用。别担心,它是免费的!作用是在我们的IPFS节点停机时帮我们维护数据。复制图像和JSON元数据文件的CID,并将其添加到Pinata账户中。这需要几秒钟的时间来注册。
 复制CID 这个元数据 json 文件就是 tokenURI,所以我们用给图片NFT的 tokenId 来修改 set-token-uri.js,并添加 ipfs tokenURI。 然后我们用 truffle exec scripts/set-token-uri.js --network rinkeby |