创建币安智能链 NFT – 示例项目
我们将使用一个公开可用的图像文件,并将其转换为多个 BSC NFT(它们将代表剑),这些 NFT 可能会进一步用于NFT 游戏开发。但是,在继续之前,请记住,出于此示例项目的目的,我们将在 BSC 的测试网上部署 NFT。我们建议您也这样做,直到您学会如何在币安智能链上正确创建 NFT。然而,即便如此,在 BSC 的主网上铸造 NFT 之前,首先在测试网上部署 NFT 以确保一切正常可能更为明智。话虽如此,让我们创建一些 BSC NFT 吧?如前所述,我们将从创建 Moralis 服务器开始我们的任务。
Moralis 服务器的初始设置
为了获得 Moralis 的完整后端功能,您需要创建一个 Moralis 服务器。通过创建服务器,您将可以访问其数据库并可以选择添加云功能,我们将使用这两者来创建币安智能链 NFT。因此,请按照以下步骤完成初始 Moralis 设置:
创建免费 Moralis 帐户 – 只需单击左侧的链接,然后输入您的电子邮件地址并创建密码。此外,不要忘记确认您的帐户 – 您需要单击将发送给您的确认电子邮件中的确认链接。但是,如果您已经创建了 Moralis 帐户,只需登录即可。
创建 Moralis 服务器– 登录 Moralis 管理区后,导航到“服务器”选项卡(见下图)。在那里,单击右上角的“+ 创建新服务器”按钮。接下来,从下拉菜单中选择一个网络选项。对于我们的示例项目,我们建议选择“测试网服务器”选项。但是,当您准备将 NFT 部署到任何主网时,您需要选择“主网服务器”选项。
选择网络类型后,您需要输入服务器的名称(可以是任何您想要的名称),选择区域、网络和链(我们将在此项目中使用 BSC 的测试网络)。要完成此步骤,请单击“添加实例”以启动服务器。
通过创建 Moralis 服务器,您将可以访问 Moralis 的后端功能。例如,如果您要构建第一个 dApp,则需要获取现在可用的服务器详细信息。但是,为了创建 BSC NFT,我们需要访问服务器的数据库并创建云函数。这是我们接下来要介绍的内容。
使用 Moralis 在币安智能链上创建 NFT – 智能合约
现在是时候获得一份合适的智能合约了。正如承诺的那样,您不需要从头开始创建自己的智能合约。相反,您可以使用 OpenZeppelin 获取用于各种目的的智能合约模板。在我们的例子中,我们将使用他们在 GitHub 上提供的“ ERC1155.sol ”智能合约。尽管该合约采用以太坊标准 (ERC-1155),但由于 BSC 与 EVM 兼容,它将使我们能够铸造我们的币安智能链 NFT。
使用上面的链接,您可以将此智能合约导入 Remix。首先,在 Remix 中创建一个新文件并添加顶部的 pragma 行。然后,输入“import”,并在其旁边粘贴“ERC1155.sol”智能合约的 GitHub URL:
借助 OpenZeppelin 提供的智能合约,我们已做好一切准备来应用必要的调整,以服务于我们的示例项目。遵循Solidity编码语言的规则,事情相当简单:
查看上图,您可以看到我们正在使用“ERC1155”引用导入的智能合约。此外,我们将 NFT 命名为“SWORD”,并决定铸造一百个实例。但是,在铸造币安智能链 NFT 之前,我们需要提供正确的 URI。
NFT 的 URI 随其元数据一起提供,元数据以 JSON 文件的形式存储。这意味着我们需要将要转换为 BSC NFT(或任何其他链上的 NFT)的文件托管在某处,以便获取它们的链接(URI)。这就是 Moralis 为我们简化事情的地方。因此,让我们看看如何使用 Moralis 仪表板(数据库)。
使用 Moralis 仪表板获取 BSC NFT 元数据
此时,您应该已经创建了 Moralis 服务器,这意味着您可以访问其仪表板。为此,只需单击“查看详细信息”旁边的箭头即可查看其他选项。然后,单击“仪表板”:
进入服务器的仪表板后,您需要创建一个新的类:
你可以效仿我们的做法,将其称为“NFT”:
创建新类后,您可以通过单击“添加新列”按钮在其中添加列(然后选择数据类型并添加描述)。这些列将代表您的币安智能链 NFT 的详细信息。再次,我们建议您遵循我们的提示并添加“image”、“nft_id”和“damage”列:
请务必注意列名,因为您将在创建云函数时使用它们。为了这个示例项目,我们手动填充了第一行(上传图像文件、输入 NFT ID 和输入损坏)。要创建多个 NFT,我们需要为每个 NFT 创建一行。如果您想批量铸造 NFT,可以使用更高级的解决方案。
使用云函数生成 BSC NFT 元数据
有了必要的信息和上传到服务器仪表板的图像文件,您就可以生成元数据文件(包括 URI 链接)。为此,您可以使用云功能:
单击“云函数”按钮后,您可以立即开始输入代码。这些代码行将帮助您在币安智能链上创建 NFT:
如上所述,在这里,您可以访问“NFT”类的特定列和行,而无需使用服务器的仪表板。上面介绍的云功能将为您的 NFT 提供 JSON 文件。但是,为了查看它,您需要使用服务器的 URL,后跟:“ /functions/getNFT/?_ApplicationId=[yourMoralisAppId]&id=0”(有关更多详细信息,请查看我们的Moralis 文档)。因此,您应该获取您的 Moralis 服务器 URL 和应用程序 ID。为此,我们使用“查看详细信息”按钮:
注意:请确保使用您的服务器的详细信息,而不是上面显示的详细信息。
通过在浏览器中输入这个复杂的 URL,你将看到潜在的 NFT 的元数据:
使用 Moralis 在币安智能链上创建 NFT – 铸造你的 NFT
此外,上面呈现的复杂 URL 是您在 Remix 中的智能合约中用作 URI 的内容(请参阅上面的“使用 Moralis 在币安智能链上创建 NFT - 智能合约”部分)。但是,由于我们要铸造一百个 NFT,因此我们需要根据 ERC-1155 标准使用 ID 持有者。我们通过将 URI 中的“0”替换为“{id}”来实现此目的:
Moralis 快速节点
现在您已将 URI 插入“构造函数”函数中,您几乎可以部署合约并最终铸造 BSC NFT。但是,您首先需要使用 BSC 节点。幸运的是,Moralis 再次为您提供支持。通过使用 Moralis Speedy Nodes,您只需单击一个按钮即可将任何受支持的网络添加到 MetaMask。在我们的例子中,您需要为 BSC 的测试网执行此操作:
转到 Moralis 管理区域的“Speedy Nodes”选项卡:
点击“BSC 网络”下的“端点”按钮。
单击测试网的“添加到 MetaMask”按钮:
出现提示时,确认/允许 MetaMask 添加网络。
前往 MetaMask 并选择“BSC Testnet”:
注意:如果这是您第一次在 BSC 测试网中使用 MetaMask,您还需要获取一些“测试”BNB 代币。您可以通过访问“ https://testnet.binance.org/faucet-smart ”并输入您的 MetaMask 地址来执行此操作。
部署智能合约以铸造币安智能链 NFT
将 BSC 测试网添加到 MetaMask 扩展并获得一些“游戏”BNB 代币后,您就可以部署智能合约并铸造 NFT 了。为此,请确保 Remix 中的设置与下图中的设置相匹配:
点击“部署”按钮后,系统会提示你安装 MetaMask 扩展程序。点击“确认”即可在币安智能链上创建 NFT。现在,你可以使用你的“铸造交易哈希”在BscScan上查看它(确保选择测试网):
今天的任务就到此结束。