{"content":{"title":"如何使用 Sugar（糖果机）在 Solana 上部署 NFT 合集","body":"# 有新版本可用\r\n\r\n本指南假设你正在使用 Sugar 的旧版本 V1.x。（Candy Machine v2）。如果你想使用最新版本的 Sugar 和 Candy Machine，请查看我们的指南 [这里](https://learnblockchain.cn/article/11174)。\r\n\r\n#### 在开始本指南之前\r\n\r\n本指南将详细介绍如何使用 Sugar（Candy Machine）在 Solana 上部署一个 NFT 集合的技术步骤。如果你希望更快速地完成此任务，可以让我们代劳，我们建议使用 [Crossmint NFT Mint API \\[mainnet\\]](https://marketplace.quicknode.com/add-on/crossmint-nft-mint-api-mainnet) 附加工具。通过使用 Crossmint NFT Mint API \\[mainnet\\]，你可以避免创建 Candy Machine。使用 NFT Mint API 创建集合，降低前期成本，轻松铸造 NFT！\r\n\r\n[试用 Crossmint NFT Mint API \\[mainnet\\]](https://marketplace.quicknode.com/add-on/crossmint-nft-mint-api-mainnet)\r\n\r\n## 概述\r\n\r\n你准备好在 Solana 上发布你的 NFT 集合了吗？Metaplex 的新工具 Candy Machine，Sugar，将帮助你快速启动。Sugar 是 Metaplex 最新版本的 Candy Machine，具有一些显著的改进：\r\n\r\n- 改进的上传性能\r\n\r\n- 简化的用户体验\r\n\r\n- 改进的错误处理\r\n\r\n\r\n#### **你将要做的事情**\r\n\r\n在本指南中，你将使用 Solana CLI 创建一个新钱包，空投一些 SOL，并使用 Sugar 在 Solana 的 devnet 上部署 Candy Machine。然后，你将使用 Candy Machine UI 部署你的 Candy Machine 到网页上。\r\n\r\n#### **你将需要的东西**\r\n\r\n- 已安装 [Nodejs](https://nodejs.org/en/)（版本 16.15 或更高）\r\n- 已安装 [Solana CLI](https://docs.solana.com/cli/install-solana-cli-tools)\r\n- 已安装 [Phantom Wallet](https://phantom.app/) 或 [Solflare extension](https://solflare.com/)\r\n- 已安装 [Metaplex Sugar](https://docs.metaplex.com/developer-tools/sugar/overview/installation)（**旧版本，V1.x**）\r\n- 文字编辑器\r\n- 已安装 npm 或 yarn（我们将使用 yarn 来初始化项目和安装必要的包。如果你更喜欢使用 npm，也可以随意使用。）\r\n\r\n## 设置你的项目\r\n\r\n在终端中创建一个新的项目目录：\r\n\r\n```\r\nmkdir sugar-demo\r\ncd sugar-demo\r\n\r\n```\r\n\r\n简化调试的日志\r\n\r\n你现在可以访问 RPC 端点的日志，帮助你更有效地排除问题。如果你在 RPC 调用中遇到问题，只需检查你的 QuickNode 控制台中的日志，以快速识别和解决问题。有关日志历史记录限制的更多信息，请查看 [我们的定价页面](https://www.quicknode.com/pricing#features)。\r\n\r\n## 安装 Sugar\r\n\r\n**本指南假设你正在使用 Sugar 的旧版本 V1.x。（Candy Machine v2）。如果你使用的是较新版本，请查看我们的指南 [这里](https://learnblockchain.cn/article/11174)。**\r\n\r\n#### **Mac 安装**\r\n\r\n在终端中输入：\r\n\r\n```\r\n<(curl -sSf https://sugar.metaplex.com/install.sh)\r\n\r\n```\r\n\r\n注意：安装后可能需要重启终端。\r\n\r\n#### **Windows 安装**\r\n\r\n1. 下载 Windows 安装程序 [在这里](https://github.com/metaplex-foundation/winstaller/releases/latest/download/winstaller.exe)。\r\n2. 以管理员身份运行安装程序（右键单击 --> **以管理员身份运行**）。如果收到关于不受信任的二进制文件的警告，请尝试点击 _更多信息_ 然后 _仍然运行_。如果你没有此选项，请按照以下步骤操作：\r\n   - 右击可执行文件并选择 _属性_。\r\n\r\n   - 如果你信任 Metaplex 开发团队，请检查如图所示的 _解除阻止_ 按钮。这将允许你在计算机上运行此二进制文件，因为微软不会自动信任它。\r\n\r\n   - 点击 _应用_ 和 _确定_。\r\n\r\n   - 再次运行安装程序。\r\n\r\n如果一切正常，你应该看到类似这样的内容：\r\n\r\n![成功的 Windows 安装确认](https://img.learnblockchain.cn/2025/02/25/0-95510ae0acc690e061170eff60e4d059.png)\r\n\r\n## 设置一个新钱包\r\n\r\nSugar 的一个酷新功能是，它将允许你使用 Solana CLI 设置钱包和 RPC 配置，这样你就不必在每个 Sugar 命令中重新输入它们。\r\n\r\n我们首先需要使用以下命令为专门的 devnet 测试创建一个新钱包：\r\n\r\n```\r\nsolana-keygen new --outfile ./wallet.json\r\n\r\n```\r\n\r\n我们可以跳过密码（按 **Enter**），因为我们只会在 devnet 上使用此钱包，因此资金并不重要。我们可以通过运行以下命令确认我们刚刚生成的钱包是 Solana CLI 将使用的钱包：\r\n\r\n```\r\nsolana config set --keypair ./wallet.json\r\n\r\n```\r\n\r\n## 建立与 QuickNode RPC 的连接\r\n\r\n我们需要确保我们的 Solana CLI 连接到一个节点。你可以使用公共节点或部署和管理你的基础设施，但是，如果你希望响应时间提高 8 倍，可以让我们承担重任。\r\n\r\n \r\n\r\n确保在 Solana Devnet 下启动你的节点，并复制 HTTP 链接：\r\n\r\n![新的 Solana HTTP 端点](https://img.learnblockchain.cn/2025/02/25/1-9b8c136f77deeffa7ef3d7e66edc9bb8.png)\r\n\r\n设置好 Solana Devnet 的端点后，你可以运行以下命令，将 **YOUR_QUICKNODE_URL** 替换为你复制的 HTTP URL：\r\n\r\n```\r\nsolana config set --url YOUR_QUICKNODE_URL\r\n\r\n```\r\n\r\n现在，要为你的钱包提供资金，你可以运行以下命令：\r\n\r\n```\r\nsolana airdrop 1\r\n\r\n```\r\n\r\n如果命令成功，你应该看到类似这样的内容：\r\n\r\n![空投成功](https://img.learnblockchain.cn/2025/02/25/2-227ab1f83042a1ef83a0b22990fbc997.png)\r\n\r\n你还可以在终端中运行 `solana balance`，以查看 1 SOL 是否已到位。\r\n\r\n## 准备 NFT 资产\r\n\r\n如果你以前使用过 Candy Machine，这个过程将对你来说是熟悉的。我们需要为每个数字资产创建一个 _.json_ 文件，使用简单的数字格式，从 0 开始并按顺序递增，不跳过数字（例如，0.json 对应于 0.png，接着 1.json 对应于 1.png）。我们还可以创建一个可选的 **collection.json** 和 **collection.png** 以使 Sugar 能够自动创建链上集合。\r\n\r\nMetaplex 提供了一组 [样本资产](https://docs.metaplex.com/assets/files/assets-ff6bd873ecd07b49c86faf3c7aab82d2.zip)，我们可以下载并使用，以保持一致性。你可以编辑 json 包含任何你想要的值，只要它符合 [URI json schema](https://docs.metaplex.com/programs/token-metadata/token-standard#the-non-fungible-standard)。\r\n\r\n下载样本集并将内容提取到你的项目目录中的 **./assets/** （这是 Sugar 搜索你的文件的默认目录）。\r\n\r\n## 配置 Candy Machine\r\n\r\n在你的根项目文件夹中创建一个新文件 **config.json**：\r\n\r\n```\r\necho > config.json\r\n\r\n```\r\n\r\n打开文件并粘贴以下配置：\r\n\r\n```\r\n{\r\n    \"price\": 0.01,\r\n    \"number\": 10,\r\n    \"symbol\": \"NB\",\r\n    \"sellerFeeBasisPoints\": 500,\r\n    \"gatekeeper\": null,\r\n    \"solTreasuryAccount\": \"YOUR_WALLET_ADDRESS\",\r\n    \"splTokenAccount\": null,\r\n    \"splToken\": null,\r\n    \"goLiveDate\": \"2022-07-24T00:00:00Z\",\r\n    \"endSettings\": null,\r\n    \"whitelistMintSettings\": null,\r\n    \"hiddenSettings\": null,\r\n    \"uploadMethod\": \"bundlr\",\r\n    \"awsS3Bucket\": null,\r\n    \"retainAuthority\": true,\r\n    \"isMutable\": true,\r\n    \"creators\": [\\\r\n    {\\\r\n      \"address\": \"YOUR_WALLET_ADDRESS\",\\\r\n      \"share\": 100\\\r\n    }\\\r\n  ]\r\n}\r\n\r\n```\r\n\r\n> 注：你可以在终端中运行 **solana address** 以获取你刚创建的钱包地址。\r\n\r\n现在，我们应该一切就绪。如果你到此为止都在跟着，你的目录结构应该是这样的：\r\n\r\n> - sugar-demo/wallet.json\r\n> - sugar-demo/config.json\r\n> - sugar-demo/assets/\\[0-9\\].png\r\n> - sugar-demo/assets/\\[0-9\\].json\r\n> - sugar-demo/assets/collection.png\r\n> - sugar-demo/assets/collection.json\r\n\r\nSugar 具有内置验证错误功能，可以在继续之前检查任何错误。在终端中运行：\r\n\r\n```\r\nsugar validate\r\n\r\n```\r\n\r\n![Sugar 验证成功](https://img.learnblockchain.cn/2025/02/25/3-ae802e2cddaf765d61ed41a3807ea0ed.png)\r\n\r\n我们已经准备好开始了！干得好。让我们构建我们的 Candy Machine。\r\n\r\n## 创建 Candy Machine\r\n\r\n由于我们已经使用 Solana CLI 设置我们的 RPC 和钱包，并且已经将我们的 **assets** 和 **config.json** 保存到 Sugar 的默认目录，因此我们的命令将非常简单！\r\n\r\n#### **上传你的资产**\r\n\r\n在终端中输入：\r\n\r\n```\r\nsugar upload\r\n\r\n```\r\n\r\n你应该看到类似这样的内容：\r\n\r\n![Sugar 上传成功](https://img.learnblockchain.cn/2025/02/25/4-a1bef9869087ac86808264f079cdb68e.png)\r\n\r\n#### **部署 Candy Machine**\r\n\r\n在终端中输入：\r\n\r\n```\r\nsugar deploy\r\n\r\n```\r\n\r\n你应该看到类似这样的内容：\r\n\r\n![Sugar 部署成功](https://img.learnblockchain.cn/2025/02/25/5-d11d474eb3986924d4e0681dd077264a.png)\r\n\r\n> 如果你收到“Blockhash not found”错误，请尝试重新运行该命令。\r\n\r\n确保将终端中提供的 Candy Machine ID 存储在本地。我们稍后会需要它。\r\n\r\n#### **验证 Candy Machine**\r\n\r\n让我们确保一切如我们所期望的那样正常工作。在终端中输入：\r\n\r\n```\r\nsugar verify\r\n\r\n```\r\n\r\n你应该看到类似这样的内容：\r\n\r\n![Candy Machine 验证成功](https://img.learnblockchain.cn/2025/02/25/6-4847aad70b580356404925e73f6e0570.png)\r\n\r\n干得好！\r\n\r\n#### **测试你的 Candy Machine**\r\n\r\n尝试使用 sugar 铸造 NFT。在终端中输入：\r\n\r\n```\r\nsugar mint\r\n\r\n```\r\n\r\n你应该看到类似这样的内容：\r\n\r\n![成功的 Sugar 铸造](https://img.learnblockchain.cn/2025/02/25/7-16f940ec25f6619345c7d73e27e6d3f5.png)\r\n\r\n太棒了！让我们创建一个铸造页面，这样我们就可以与世界分享这个项目！\r\n\r\n## 设置一个铸造站点\r\n\r\n为了尽可能简单地设置，我们将使用 Metaplex 提供的前端 Candy Machine UI。\r\n\r\n在你的项目目录中，在终端输入：\r\n\r\n```\r\ngit clone https://github.com/metaplex-foundation/candy-machine-ui ./candy-machine-ui/\r\ncd candy-machine-ui\r\n\r\n```\r\n\r\n将文件 **.env.example** 重命名为 **.env**。更改文件名称后，你可以在其中将值更改为以下内容：\r\n\r\n```\r\nREACT_APP_CANDY_MACHINE_ID=<YOUR_CANDY_MACHINE_PUBKEY>\r\nREACT_APP_SOLANA_NETWORK=devnet\r\nREACT_APP_SOLANA_RPC_HOST=<YOUR_QUICKNODE_DEVNET_ENDPOINT>\r\n\r\n```\r\n\r\n如果你不记得你的 Candy Machine ID，你应该可以在 **cache.json** 的 **program.candyMachine** 字段中找到它。\r\n\r\n将所有信息输入后，你可以保存文件。从该 candy-machine-ui 文件夹中运行以下命令：\r\n\r\n```\r\nyarn install\r\nyarn start\r\n\r\n```\r\n\r\n这将会在 [localhost:3000](localhost:3000) 打开一个浏览器，你可以在其中连接你的钱包并具有铸造 NFT 的能力。在继续之前，请确认你的 Phantom Wallet 设置为 devnet 而不是 mainnet。\r\n\r\n你需要在 Phantom 钱包中有 devnet SOL 才能铸造 NFT。你可以通过在终端中输入以下命令使用 Solana CLI 对 Phantom 钱包进行空投：\r\n\r\n```\r\nsolana airdrop 1 YOUR_PHANTOM_WALLET_ADDRESS\r\n\r\n```\r\n\r\n一旦准备就绪，点击“Mint”。如果成功，你应该会看到一个类似这样的网页：\r\n\r\n![Candy Machine 铸造页面](https://img.learnblockchain.cn/2025/02/25/8-7b14dd6084c343a0d3e21b63fffa0355.png)\r\n\r\n如果你看到“Mint Failed”的错误，你可能没有足够的资金。添加资金后再试一次。购买后，你可以在你的钱包中查看 NFT。Phantom 可能需要一些时间才能在你的钱包中呈现 NFT。我们的 NFT 看起来像这样：\r\n\r\n![钱包中的已铸造 NFT](https://img.learnblockchain.cn/2025/02/25/9-8dcd030390fbba23e3dfb38ac1a3fb64.png)\r\n\r\n这是一些甜蜜的糖果！干得好。\r\n\r\n## 结论\r\n\r\n恭喜你！你使用 Metaplex Sugar 创建了一个 Candy Machine，并具备运行自己的 NFT 铸造所需的所有工具。我们期待看到你正在创建的 NFT！请在 [Discord](https://discord.gg/quicknode) 上与我们取得联系，或通过 [Twitter](https://twitter.com/QuickNode) 与我们联系，以分享你的 NFT 项目。\r\n \r\n>- 原文链接： [quicknode.com/guides/sol...](https://www.quicknode.com/guides/solana-development/nfts/how-to-deploy-an-nft-collection-on-solana-using-sugar-candy-machine)\r\n>- 登链社区 AI 助手，为大家转译优秀英文文章，如有翻译不通的地方，还请包涵～"},"author":{"user":"https://learnblockchain.cn/people/25306","address":null},"history":null,"timestamp":1740449878,"version":1}