如何在Solana上使用Candy Machine创建NFT - Quicknode

  • QuickNode
  • 发布于 2025-01-30 23:20
  • 阅读 13

这篇文章详细介绍了如何在Solana上使用Candy Machine创建和铸造NFT,从设置环境到具体操作都有清晰的步骤和代码示例。通过本指南,读者能够了解创建NFT的流程和技术要求,同时也提供了关于NFT管理和铸造的必要指令,适合希望深入了解Solana和NFT技术的开发者。

引言

你好,亲爱的读者!我们收到了大量关于在 Solana 上进行 NFT 的指南请求。在之前的指南中,我们没有涉及最有趣的部分,也就是将图像和 NFT 代币的元数据链接在一起的部分。

为了实现这个目标,我们将使用一个叫做 Candy Machine 的程序。它是一种工具,可以让你在互联网上的小空间内安装自己的 Solana NFT 商店。

在本指南中,我们将指导你完成安装的整个过程。

注意

本指南旨在展示如何操作以及创建自己的 NFT 在 Solana 上所需的内容,并不旨在教你所有相关的底层技术。Solana 生态系统有太多内容需要学习,如果你想做的不止是本指南所提供的内容,那么你需要进一步研究和学习更多东西!加油! :)

在继续之前,必须安装以下先决条件,我们为每个项目提供了安装指南的链接,它们肯定比我们所能提供的更好地解释了如何安装每个技术。

先决条件

Candy Machine 介绍

Candy Machine 是一个使用 Metaplex CLI 生成 NFT 的程序,链接 NFT 的图像和相关元数据,并执行所谓的“公平拍卖”,主要包含两件事:第一是拍卖同时开始,没有预售!第二是如果没有更多 NFT 可以创建,则不会发送交易。

再也不必担心将你的 SOL 扔进黑暗中,不确定是否还有更多的 NFT 可以创建了。虽然在这个过程中有很多东西需要学习和探索,但是学习的最佳方式就是构建。

进行仓库的 Fork

你可以使用两个不同的仓库,一个是 Candy Machine 团队创建的,另一个是社区成员在上面创建的,以使事情变得简单一些并创建更流畅的工作流程。在本教程中,我们将使用后者,如果你想单独探索并偏离本教程的路径,你需要了解 Metaplex 的工作原理。

要 fork 这个仓库,你需要去社区创建的那个仓库,然后点击右上角的 fork 按钮。

一旦 fork 完成,你需要克隆仓库:

git clone https://github.com/<用户名>/solana-candy-factory

项目安装

一旦代码下载到你的计算机上,你需要在代码编辑器中打开 solana-candy-machine 文件夹。

安装依赖

现在我们开始配置我们的项目,以便开始开发。第一步是安装依赖,执行以下命令:

yarn

运行数据库

安装完所需的依赖后,需要在 Docker 中运行 Postgres 数据库,该数据库将存储 NFT 信息,在其被发行到区块链之前。

yarn start-nft-manager-db

这将配置数据库,并授予其连接到 Strapi 的权限,Strapi 是一个无头内容管理系统,将包含所有 NFT 的信息。

NFT 管理器

这是整个仓库的最大美妙之处。可以使用无头内容管理器来管理所有 NFT 的信息,直到它们被发布到区块链。要配置此内容,使用以下命令:

yarn nft-manager

之后,你可以导航到地址 http://localhost:1337/admin。第一次使用需要创建一个帐户并登录。之后,你需要创建一个“用户”,要做到这一点,请单击以下图像中显示的选项。

填写以下信息:

  • 用户名: admin
  • 密码: Admin123
  • 电邮: yourEmail@website.com
  • 确认: 开
  • 角色: 认证用户(这非常重要)

唯一剩下的就是保存用户。完成此步骤后,我们可以开始创建我们的收藏。

一个集合与多个 NFT 存在一对多的关系。一个集合会有多个 NFT。

这个过程将与创建用户非常相似。导航到 Collections 部分以创建新的集合。

这里有两个字段,Name 和 Family,这与 collections 相关,因为我们在 Strapi 中填充的字段必须与在 SOLANA 的 NFT 元数据标准 中定义的 JSON 属性相匹配。

Name 必须是你正在发布的项目的具体名称,而 Family 可以是更广泛的集合。

我将在此指南中根据名称命名这些字段,以便透明化。

Name 将是 Collection_Name,Family 将是 Collection_Family。现在你可以保存集合,并进入 NFTs 部分以创建你个别的 NFTs。

我将向你展示我的样子,并顺便解释每个字段:

格式化接下来的信息 --> 字段名: 值 -- 解释

  • Name: CoolNFTName -- 你的 NFT 的名称
  • Symbol: CNN -- 这是你的 NFT 的“代码”,标识符。比如 Degenerate APE Academy 的 DAPE。
  • Description: 这是我超酷 NFT 的描述 -- 个别 NFT 的描述
  • Seller_fee_basis_points: 500 -- 这是 NFT 创作者在每次购买中将获得的版税百分比(500等于5%)。在此框架中你不需要太过担心这一点,因为我们使用的是命令行界面,但总是值得确保它配置得与我们的需求相符,不论在命令行中是如何执行的。
  • Image: Image.png -- 图像文件的名称。将此字段保持为 Image.png(不管实际图像的名称是什么),因为它是动态变化的。必须与 JSON 的 Properties --> Files --> Uri 部分相符,我将在下面展示。
  • Animation URL: n/a -- 这是指向多媒体文件的 URL,支持 MP4 和 MOV 格式的视频,MP3、FLAC 和 WAV 格式的音频,GLB 格式的 AR/3D。你可以使用 ?ext={file_extension} 来提供文件类型的信息。
  • External URL: https://www.quicknode.com/ -- 这是可以用作备份查看图像的地址,使用中心化服务如 imgur。然而,你也可以将其留空(blank == "")。
  • Traits:
  "attributes": [\
    {\
      "value": "Solana",\
      "trait_type": "Chain"\
    },\
    {\
      "value": "QuickNode",\
      "trait_type": "Company"\
    },\
    {\
      "value": "Tutorial",\
      "trait_type": "Category"\
    },\
    {\
      "value": "Degen",\
      "trait_type": "Status"\
    }\
  ]

这些将是你 NFT 的属性。你不必拥有这些,它们是完全任意的。然而,如果设定某个属性,必须有一个值和一个 trait_type 字段。值可以是文本或数字。

  • Properties:
  "files": [\
    {\
      "uri": "image.png",\
      "type": "image/png"\
    }\
  ],
  "category": "image",
  "creators": [\
    {\
      "share": 100,\
      "address": "7K6XCSwVh3YZAh7GhARZ9pQ7gWkFNuWQ77U5CbV3PcF3"\
    }\
  ]

属性包含有关所显示内容的大量信息。它链接文件类型(你可以在这里查看支持的类型),设置 uri(上传到 Arweave)并链接 NFT 的创作者或创作者们,可以有多个创作者,因此 share 可以高达 100。

  • Content: 这是你可以上传图像的地方。这个是我选择的!

注意: 图像必须为 PNG 格式

一旦你用所选择的数据填写了所有这些信息,你就准备好铸造 NFT 了。

使用 Candy Machine 创建 NFT

在我们到目前为止所做的一切中,我们只需几个命令就可以开始。这归功于我们使用的框架,它使一切变得简单,只需要几个命令。

我们首先需要确保所有由 NFT 生成的资金都会归入你的账户。使用以下命令:

yarn update-creator-all-rows

它会询问你正确的地址,填入你的 Solana 地址,这是我们之前看到的创作者地址。

然后你可以设置你想要的 NFT 未来销售的版税百分比,也就是 Seller_fee_basis_points 字段。

确认这一点后,我们就可以生成 NFT 的信息。

yarn update-creator-all-rows

它会询问你是否要随机打乱(shuffle),这将随机交换人们铸造 NFT 的顺序。如果你正在创建一批数量很大的 NFT(5 到 10 千个之间),你可能不希望它们按顺序生成,这会为你打乱顺序。在本教程中,我们只创建一个 NFT,因此没有意义这样做。

运行上述命令后,你将在 nft-manager/nfts-sources 文件夹中看到两个文件:0.json 和 0.png。

如果这些文件存在,你就准备好将它们发布到区块链上了。

由于我们使用的是开发网,事情将与希望将你的 NFT 发布到主网时稍有不同,但仓库的自述文件很好地涵盖了这些区别。你可以运行以下命令并按 Enter 接受所有默认值,而无需任何其他添加。

yarn setup-dev

如果你想了解这个命令背后发生了什么,可以在自述文件中找到!你只需知道这是负责前面生成的 NFT 铸造的部分。

这就是发布到区块链的所有过程!

铸造你的 NFT

通过创建和发布到区块链上的所有程序,只剩下与之互动了。要运行网页,你需要运行以下命令:

yarn dev

这将为你提供一个网页 http://localhost:3000。你可以连接你的钱包,并点击下面显示的“铸造”(Mint)按钮:

如你所见,该图像中不再有其他可用的 NFT,因为我们刚铸造了唯一存在的那个。如果你现在尝试再次铸造而没有更多可用,系统将询问你是否确认交易,然后程序会拒绝这笔交易,因为没有更多 NFT 可以供你获得。这是我们之前提到的公平拍卖(fair auction)的一部分。

如果一切顺利,现在你应该在你的 Phantom Wallet 中有一个 NFT。这是我的样子:

结论

恭喜你!你刚刚在 Solana 上铸造了你的第一个 NFT!背后有很多内容我们没有涵盖。如果你试图在主网上进行更大规模的 NFT 发布,建议深入研究 Metaplex,了解不同现有命令的工作方式,这样事情不总是那么简单,你必须能够解决出现的问题。尽管如此,你仍然学到了许多东西!

订阅我们的通讯,以获取更多关于以太坊的文章和指南。如果你有任何意见,请随时在我们的 Twitter 上留言。你随时可以在我们的 Discord 服务器与我们交谈,那里有一些最酷的开发者 :)

  • 原文链接: quicknode.com/guides/sol...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
QuickNode
QuickNode
江湖只有他的大名,没有他的介绍。