Skip to main content

🍬 创建糖果机 - 批量铸造NFT的甜蜜工厂! 🏭

🎯 本章目标: 学会使用Candy Machine批量部署NFT系列,让你的数字艺术品像糖果一样源源不断地产出!


🌈 欢迎来到NFT批量生产线!

还记得上一章我们铸造的那个孤零零的NFT吗?😢 现在是时候给它找些小伙伴了!今天我们要学习如何创建一整个NFT军团!🎖️

🤔 为什么选择Candy Machine?

想象一下,你有1000个NFT要铸造...手动一个个来?那得铸到猴年马月!😵 这就是为什么我们需要Candy Machine —— Solana生态中的NFT批量铸造神器!

🍭 Candy Machine = 自动化 + 安全 + 高效

Candy Machine的超能力 ⚡:

特性说明好处
🤖 防机器人内置机器人检测公平分发,拒绝黄牛
🎲 随机分发安全的随机算法每个人机会均等
⚙️ 自动化一键批量部署节省99%的时间
🔒 标准化Solana官方推荐安全可靠,广受认可

💡 有趣的事实: Candy Machine这个名字来源于现实中的糖果售卖机 —— 投币即可获得随机糖果(NFT)!


🎨 第一步:准备你的NFT军团素材

📁 创建资产文件夹

还记得我们上节课创建但没用的candy-machine文件夹吗?现在终于轮到它大显身手了!🎭

# 🚀 进入candy-machine文件夹
cd tokens/candy-machine

# 📂 创建assets文件夹(你的NFT宝库)
mkdir assets

你的文件夹结构应该像这样:

📦 tokens/candy-machine
┣ 📂 assets # 🎨 NFT素材库
┃ ┣ 🖼️ 0.png # NFT #0 的图片
┃ ┣ 📄 0.json # NFT #0 的元数据
┃ ┣ 🖼️ 1.png # NFT #1 的图片
┃ ┣ 📄 1.json # NFT #1 的元数据
┃ ┗ ... # 更多NFT文件
┗ 📄 config.json # 配置文件(稍后生成)

🎯 资产命名规则 - 超级重要!

⚠️ 命名规则必须严格遵守,否则Sugar会闹脾气!

// ✅ 正确的命名方式
0.png + 0.json // 第一个NFT
1.png + 1.json // 第二个NFT
2.png + 2.json // 第三个NFT

// ❌ 错误的命名方式
nft1.png // 不要加前缀
01.png // 不要补零
1.PNG // 扩展名要小写

📝 元数据文件示例

每个.json文件应该包含这样的内容:

{
"name": "Buildoor #1", // 🏷️ NFT名称
"symbol": "BLD", // 🎯 代币符号
"description": "A cool buildoor", // 📝 描述信息
"image": "0.png", // 🖼️ 对应的图片文件
"attributes": [ // ⚡ 属性列表
{
"trait_type": "Background", // 属性类型
"value": "Blue" // 属性值
},
{
"trait_type": "Eyes",
"value": "Laser"
},
{
"trait_type": "Rarity",
"value": "Legendary"
}
],
"properties": {
"files": [
{
"uri": "0.png",
"type": "image/png"
}
]
}
}

💡 专业提示: 使用脚本批量生成元数据文件可以节省大量时间!这里有个Python脚本示例

🎨 图片优化建议

参数推荐值原因
📐 尺寸600x600 或 1000x1000平衡质量与文件大小
📦 格式PNG (透明) 或 JPGPNG适合像素艺术,JPG适合照片
💾 大小< 500KB降低上传成本
🎨 色彩sRGB确保颜色一致性

🍭 第二步:安装Sugar CLI - 你的魔法棒

🔧 安装Sugar

Sugar是Metaplex提供的命令行工具,让Candy Machine的使用变得超级简单!

# 🍎 macOS/Linux 安装方式
bash <(curl -sSf https://sugar.metaplex.com/install.sh)

# 🪟 Windows用户请使用WSL或查看官方文档

验证安装:

sugar --version
# 输出类似: sugar-cli 2.0.0

🚨 遇到问题?

🎯 配置你的环境

# 设置Solana网络为devnet(测试网)
solana config set --url https://api.devnet.solana.com

# 检查你的钱包余额
solana balance

# 如果余额不足,获取测试币
solana airdrop 2

🚀 第三步:启动Sugar配置向导

🎮 运行配置向导

# 📍 确保你在candy-machine文件夹中
cd tokens/candy-machine

# 🎯 启动Sugar配置向导
sugar launch

📋 配置选项详解

Sugar会像个贴心的助手一样询问你一系列问题。让我详细解释每个选项:

🍬 Sugar交互式配置向导
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[?] What is your NFT collection size?
> 10 # 🎯 你的NFT总数量

[?] What is the symbol of your NFT collection?
> BLD # 🏷️ 代币符号(3-10个字符)

[?] What is the seller fee basis points?
> 500 # 💰 版税(500 = 5%)

[?] What categories best describe your NFT project?
> Art, Gaming # 🎨 项目类别

[?] What is the price of each NFT?
> 0 # 💸 设置为0(免费铸造)

[?] What is the mint start date?
> now # ⏰ 立即开始

[?] How many creator wallets do you have?
> 1 # 👥 创作者钱包数量

[?] Enter creator wallet address #1:
> YOUR_WALLET_ADDRESS # 💳 你的钱包地址

[?] Enter creator wallet share #1:
> 100 # 📊 收益分配比例

[?] Which storage solution do you want to use?
> Bundlr # 💾 选择Bundlr存储

[?] Do you want to use a custom RPC?
> No # 🌐 使用默认RPC

[?] Do you want to configure hiddenSettings?
> No # 🎭 隐藏设置(高级功能)

💡 配置技巧大放送:

  1. 💰 免费铸造策略: 设置价格为0可以快速测试,生产环境建议收取少量SOL
  2. 📊 版税设置: 500-1000(5%-10%)是行业标准
  3. 💾 存储选择: Bundlr最稳定,AWS适合大项目
  4. ⏰ 开始时间: 可以设置未来时间进行预热营销

📄 生成的配置文件

配置完成后,Sugar会生成一个config.json文件:

{
"number": 10, // NFT总数
"symbol": "BLD", // 符号
"sellerFeeBasisPoints": 500, // 版税
"isMutable": true, // 可更新
"isSequential": false, // 随机分发
"creators": [
{
"address": "YOUR_WALLET", // 创作者地址
"share": 100 // 份额
}
],
"uploadMethod": "bundlr", // 上传方式
"awsConfig": null,
"nftStorageAuthToken": null,
"shdwStorageAccount": null,
"pinataConfig": null,
"hiddenSettings": null,
"guards": { // 铸造守卫
"default": {
"solPayment": {
"value": 0, // 免费!
"destination": "YOUR_WALLET"
},
"startDate": {
"date": "2024-01-01T00:00:00Z"
}
}
}
}

📤 第四步:上传NFT到区块链!

🚀 执行上传命令

# 🎯 开始上传你的NFT军团
sugar upload

# 如果需要查看详细日志
sugar upload --log-level debug

📊 上传过程解析

🍬 Sugar Upload Process
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[1/4] 📂 Loading assets... ✅
Found 10 asset pairs

[2/4] 📤 Uploading assets to Bundlr...
████████████████████ 100% | 10/10
Upload successful!

[3/4] 📝 Creating collection NFT...
Collection mint: 7xKXtg2... ✅

[4/4] 🍬 Initializing Candy Machine...
Candy Machine ID: 9yBVt8... ✅

✨ Upload complete!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 Summary:
• Assets uploaded: 10
• Total cost: 0.025 SOL
• Time elapsed: 45s
• Status: SUCCESS ✅

🔍 理解cache.json文件

上传成功后,会生成一个cache.json文件,这是你的宝藏地图!🗺️

{
"program": {
"candyMachine": "9yBVt8...", // 🍬 Candy Machine地址
"candyMachineCreator": "7xKX...", // 👤 创建者
"collectionMint": "BLDco11..." // 🎨 集合NFT地址
},
"items": {
"0": {
"name": "Buildoor #0",
"image_hash": "abc123...", // 图片哈希
"image_link": "https://...", // 图片链接
"metadata_hash": "def456...", // 元数据哈希
"metadata_link": "https://...", // 元数据链接
"onChain": true // 是否已上链
},
// ... 更多NFT
}
}

⚠️ 重要提示:

  • 💾 备份cache.json: 这是你的NFT数据库,丢失后很难恢复!
  • 🔄 增量上传: 如果中断,Sugar会从上次位置继续
  • 💰 费用预估: 每个NFT约需0.01 SOL

🎊 第五步:验证你的成果!

🔍 在浏览器中查看

  1. 复制collectionMint地址
  2. 打开Solana Explorer
  3. 粘贴地址并搜索
  4. 恭喜!你应该能看到你的NFT系列了!🎉

🎮 测试铸造功能

# 验证Candy Machine状态
sugar show

# 输出示例:
# 🍬 Candy Machine: 9yBVt8...
# 📊 Items: 10/10 uploaded
# 💰 Price: 0 SOL
# 📅 Go Live Date: Active ✅

🚀 铸造你的第一个NFT

# 从Candy Machine铸造一个NFT
sugar mint

# 批量铸造
sugar mint --number 5 # 铸造5个

💡 专业技巧和最佳实践

🎯 优化技巧

技巧说明好处
批量处理一次上传50-100个NFT减少gas费用
图片压缩使用TinyPNG等工具降低存储成本
元数据模板创建可复用的模板提高效率
测试先行先在devnet测试避免主网失误

🚨 常见问题解决

# 问题1:上传中断
sugar upload --cache ./cache.json # 从缓存恢复

# 问题2:余额不足
solana airdrop 2 # 获取测试币

# 问题3:RPC限制
sugar upload --rpc-url YOUR_CUSTOM_RPC

# 问题4:验证失败
sugar verify # 验证所有NFT

🔒 安全建议

  1. 🔑 私钥安全: 永远不要分享你的私钥
  2. 💾 备份策略: 定期备份cache.json
  3. 🧪 测试环境: 先在devnet充分测试
  4. 📊 监控费用: 使用sugar cost预估费用

🎓 进阶玩法

🎭 添加白名单

// 在guards中添加白名单
"allowList": {
"merkleRoot": "YOUR_MERKLE_ROOT"
}

⏰ 设置铸造时间窗口

"startDate": {
"date": "2024-02-01T00:00:00Z"
},
"endDate": {
"date": "2024-02-28T23:59:59Z"
}

💎 创建稀有度系统

// 在元数据中定义稀有度
"attributes": [
{
"trait_type": "Rarity",
"value": "Legendary",
"display_type": "badge"
}
]

🎊 恭喜完成!

你已经成功部署了自己的NFT系列!🎉 这不仅仅是技术成就,更是进入Web3创作者世界的重要一步!

📚 接下来可以探索

  • 🎨 创建生成艺术: 使用代码生成独特的NFT
  • 🏪 建立市场: 创建自己的NFT交易平台
  • 🎮 游戏集成: 将NFT用作游戏资产
  • 🤝 社区建设: 为持有者提供独家权益

🔗 有用的资源


🌟 最后的话: 记住,每个成功的NFT项目背后都有一个充满激情的创作者。技术只是工具,真正重要的是你的创意和对社区的贡献!继续探索,继续创造,让Web3世界因你而更精彩!🚀

#BuildInPublic #SolanaNFT #Web3Creator 🎨🚀🌈