You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Solana Candy Machine实现指定类别区间NFT铸造

解决方案:实现Candy Machine按类别铸造指定区间NFT

核心问题分析

当前配置仅通过groups设置了不同铸造条件的分组,但未绑定对应资产区间,且默认isSequential: false为随机铸造逻辑,导致用户选择类别后仍会获取全范围NFT。要实现需求,需结合资产范围限制Guard和有序资产组织,将分组与对应编号区间绑定。

步骤1:按区间组织并上传资产(Pinata IPFS)

  • 将8个类别的资产分别整理为独立文件夹,每个文件夹包含对应编号区间的NFT媒体文件(图片/视频等)和Metadata文件:
    • Cat A文件夹:包含1.png/1.json至500.png/500.json
    • Cat B文件夹:包含501.png/501.json至1000.png/1000.json
    • 以此类推至Cat H的3501-4000区间文件
  • 按Cat A → Cat B → ... → Cat H的顺序,将所有资产批量上传至Pinata:
    • 确保上传顺序与编号区间完全对应,Metaplex会按上传顺序为资产分配索引(第一个上传的资产索引为1,最后一个为4000)
    • 记录每个类别资产对应的IPFS目录哈希(可选,用于后续验证)

步骤2:调整Candy Machine配置

修改配置文件的关键参数,为每个分组添加资产范围限制,并修正总数量:

{
  "tokenStandard": "pnft",
  "number": 4000, // 修正为总NFT数量4000
  "symbol": "ADF",
  "sellerFeeBasisPoints": 500,
  "isMutable": true,
  "isSequential": false, // 保持随机,仅限制范围;若需顺序铸造可改为true
  "ruleSet": "AQvYNMN2uZJWYPrBuMvyBbLyMDEee7mfafRZbBuPXxJ1",
  "creators": [
    {
      "address": "AQvYNMN2uZJWYPrBuMvyBbLyMDEee7mfafRZbBuPXxJ1",
      "share": 50
    },
    {
      "address": "替换为第二个创作者地址", // 建议修正重复的创作者地址
      "share": 50
    }
  ],
  "hiddenSettings": null,
  "uploadMethod": "ipfs",
  "pinataConfig": "你的Pinata密钥",
  "guards": {
    "default": {
      "botTax": {
        "value": 0.01,
        "lastInstruction": true
      }
    },
    "groups": [
      {
        "label": "Cat A", // 修正标签为类别名称
        "guards": {
          "startDate": {
            "date": "2024-01-01 12:00:00 +0000"
          },
          "solPayment": {
            "value": 0.01,
            "destination": "AQvYNMN2uZJWYPrBuMvyBbLyMDEee7mfafRZbBuPXxJ1"
          },
          "assetRange": { // 添加资产范围限制
            "start": 1,
            "end": 500
          }
        }
      },
      {
        "label": "Cat B",
        "guards": {
          "startDate": {
            "date": "2024-01-01 12:00:00 +0000"
          },
          "solPayment": {
            "value": 0.01,
            "destination": "AQvYNMN2uZJWYPrBuMvyBbLyMDEee7mfafRZbBuPXxJ1"
          },
          "assetRange": {
            "start": 501,
            "end": 1000
          }
        }
      },
      // 依次添加Cat C至Cat H的分组,对应各自的assetRange区间
      {
        "label": "Cat H",
        "guards": {
          "startDate": {
            "date": "2024-01-01 12:00:00 +0000"
          },
          "solPayment": {
            "value": 0.01,
            "destination": "AQvYNMN2uZJWYPrBuMvyBbLyMDEee7mfafRZbBuPXxJ1"
          },
          "assetRange": {
            "start": 3501,
            "end": 4000
          }
        }
      }
    ]
  }
}

关键配置说明

  • number: 必须设置为总NFT数量4000,匹配所有区间的资产总数
  • assetRange Guard: 每个分组添加该配置,指定对应类别允许铸造的资产索引区间,确保用户选择该分组时只能铸造此范围内的NFT
  • isSequential: 保持false则用户在区间内随机获取NFT;若需用户按顺序铸造该区间的NFT,可改为true
  • 创作者地址:修正重复的地址,确保每个创作者地址唯一

步骤3:验证与部署

  1. 使用Metaplex CLI更新Candy Machine配置:
    ts-node ~/metaplex-foundation/js/packages/cli/src/candy-machine-v3.ts update-config -k ~/.config/solana/devnet.json -e devnet -c config.json
    
  2. 上传所有资产至Candy Machine(按步骤1的顺序):
    ts-node ~/metaplex-foundation/js/packages/cli/src/candy-machine-v3.ts upload -k ~/.config/solana/devnet.json -e devnet -c config.json -r https://api.devnet.solana.com
    
  3. 测试铸造:通过前端或CLI选择不同分组进行铸造,验证是否仅获取对应区间的NFT

内容的提问来源于stack exchange,提问作者Hemang Joshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 09:17:11