最近在 solana 上弄了弄 NFT,发现资料挺少的,特别是 cpi 方式调用 NFT 的资料。
像在 evm 上有 erc721 标准,在 solana 上还不只一种,还好都是 Metaplex 出的。
并且我发现,现在 solana 教程中有 nft 教程,但是和实际的使用却不是一个东西,合约地址都不一样。
目前使用了两种,一个是Metaplex Core NFT,一个是Bubblegum NFT (cNFT),用都用起来了,简单分享分享。
我发现 ai 总结得比我好,所以我复制了一下:
Metaplex Core NFT 和 Bubblegum NFT 都是基于 Solana 区块链的 NFT 实现方式,由 Metaplex 协议支持,但它们在技术架构、功能、成本和使用场景上存在显著区别。以下是对两者的详细对比和区别介绍:
1. 概述
-
Metaplex Core NFT:
- Metaplex Core 是 Metaplex 协议的新一代 NFT 标准,取代了原来的 Metaplex Token Metadata 标准。
- 它基于 Solana 的 Programmable NFTs (pNFTs),通过 Core Asset 标准实现,强调灵活性、可编程性和模块化。
- 适用于需要高级功能(如动态元数据、版税强制执行、规则集)的 NFT 项目。
-
Bubblegum NFT:
- Bubblegum 是 Metaplex 推出的一种 压缩 NFT (cNFT) 协议,基于 状态压缩技术 (State Compression)。
- 旨在大幅降低 NFT 铸造和存储成本,适合大规模铸造(如百万级 NFT 集合)。
- 使用 Merkle 树存储元数据,链上存储最小化,元数据通过链下索引访问。
2. 核心区别
特性 |
Metaplex Core NFT |
Bubblegum NFT |
标准 |
Core Asset 标准,基于 Programmable NFTs (pNFTs) |
压缩 NFT (cNFTs),基于状态压缩和 Merkle 树 |
存储方式 |
元数据和资产存储在 Solana 链上,占用账户空间 |
元数据通过 Merkle 树索引,链上仅存储根哈希 |
铸造成本 |
较高(每 NFT 约 0.01-0.02 SOL,视元数据大小而定) |
极低(1 SOL 可铸造数千至数百万 cNFTs) |
可编程性 |
高度可编程,支持动态元数据、规则集、版税强制执行 |
有限可编程性,侧重成本优化,功能较简单 |
版税支持 |
原生支持强制执行版税(通过 pNFT 规则集) |
支持版税,但需额外配置,灵活性稍低 |
扩展性 |
适合中小规模项目,功能丰富但成本随数量增加 |
专为大规模集合设计,百万级 NFT 铸造成本低 |
元数据更新 |
支持动态更新元数据(如更改图片、属性) |
元数据更新受限,需通过 Merkle 树操作 |
存储位置 |
元数据和文件通常存储在 Arweave/IPFS 等链下系统 |
元数据存储在 Merkle 树,文件存储在链下(如 IPFS) |
使用场景 |
艺术品、游戏资产、动态 NFT、复杂规则项目 |
大规模收藏品、空投、会员凭证、批量分发 |
性能 |
交易速度快,但铸造和维护成本较高 |
极高的铸造效率,适合高吞吐量场景 |
工具支持 |
Metaplex SDK, Candy Machine v3 |
Bubblegum 专用程序,集成 Candy Machine |
3. 技术细节对比
-
架构:
- 使用 Solana 的账户模型,每个 NFT 对应一个链上账户,存储元数据(如名称、描述、URI)和所有权信息。
- 支持 pNFT 规则集,允许开发者定义复杂的转移规则(如限制转售、强制版税)。
- 元数据通过链上账户直接管理,配合链下存储(如 Arweave 或 IPFS)保存媒体文件。
-
铸造流程:
- 通过 Metaplex 的 Candy Machine v3 或 SDK 铸造。
- 每铸造一个 NFT,需支付账户租金(约 0.01 SOL)及少量交易费。
- 适合需要高自定义的项目,如动态艺术品(元数据可随时间更新)或游戏内资产。
-
优势:
- 高度灵活,支持动态元数据、自定义规则(如仅限特定钱包持有)。
- 原生支持版税强制执行,保护创作者利益。
- 与现有 Solana 生态(钱包、市场)无缝集成。
-
劣势:
- 铸造和维护成本随 NFT 数量线性增加(每个 NFT 需单独账户)。
- 不适合超大规模集合(例如百万个 NFT)。
Bubblegum NFT
-
架构:
- 基于 状态压缩,利用 Merkle 树存储 NFT 元数据的哈希,链上仅存储 Merkle 树的根哈希。
- 每个 NFT 的元数据通过链下索引访问,极大减少链上存储需求。
- 使用 Solana 的 Concurrent Merkle Tree (cMT) 结构,支持高效的批量操作。
-
铸造流程:
- 通过 Bubblegum 程序和 Candy Machine 铸造,多个 NFT 共享一个 Merkle 树账户。
- 铸造成本极低,例如 1 SOL 可铸造约 200 万个 cNFTs(因无需为每个 NFT 创建单独账户)。
- 元数据和媒体文件存储在链下(如 IPFS),链上仅记录哈希。
-
优势:
- 极低的铸造成本,适合大规模项目(如空投、会员 NFT)。
- 高扩展性,支持百万级甚至亿级 NFT 集合。
- 高效批量操作,适合快速分发(如 DRiP 平台的免费 NFT)。
-
劣势:
- 元数据更新复杂,需修改 Merkle 树,灵活性低于 Core NFT。
- 可编程性有限,难以实现复杂的动态规则或高级功能。
- 依赖链下存储和索引,需确保链下数据可靠性。
4. 使用场景对比
-
Metaplex Core NFT:
-
艺术与收藏品:适合高价值、个性化艺术品,创作者可动态更新元数据或设置版税。
-
游戏资产:如 Aurory 的角色或装备 NFT,需复杂规则(如仅限游戏内使用)。
-
动态 NFT:元数据可随时间或事件变化(如根据天气更新图片)。
-
高级项目:如需要强制版税、限制转售或集成 DeFi 的 NFT。
-
Bubblegum NFT:
-
大规模收藏品:如 Solana Monkey Business 的 Gen2 系列,适合快速铸造数千至数百万 NFT。
-
空投与会员凭证:如 DRiP 平台的免费 NFT 或社区会员徽章。
-
营销活动:品牌可低成本分发 NFT 作为促销工具。
-
低价值、高数量项目:如虚拟门票、一次性凭证。
5. 成本与效率
-
Metaplex Core NFT:
- 铸造单个 NFT 成本约 0.01-0.02 SOL(视元数据大小)。
- 1,000 个 NFT 需约 10-20 SOL,10 万个 NFT 成本约 1,000-2,000 SOL。
- 维护成本较高,因每个 NFT 需单独账户租金。
-
Bubblegum NFT:
- 铸造成本极低,1 SOL 可铸造约 200 万个 cNFTs(因共享 Merkle 树账户)。
- 10 万个 cNFTs 成本仅约 0.05 SOL,百万级成本仍不到 1 SOL。
- 维护成本低,链上存储仅为 Merkle 树根哈希。
6. 生态集成
-
Metaplex Core NFT:
- 与主流市场(如 Magic Eden、Tensor)完全兼容。
- 支持 Phantom、SolFlare 等钱包,交易体验与传统 NFT 无异。
- 易于集成到游戏、DeFi 或 DAO 项目。
-
Bubblegum NFT:
- 需市场支持 Bubblegum 协议(如 Magic Eden 已集成)。
- 交易和显示需额外解析 Merkle 树数据,部分早期市场兼容性有限。
- 适合空投平台(如 DRiP)或专用工具。
7. 未来趋势
-
Metaplex-Core:
- 预计成为高端 NFT 项目的首选标准,因其灵活性和可编程性。
- 将推动动态 NFT 和跨链互操作性的发展。
-
Bubblegum:
- 将主导大规模、低成本 NFT 市场,尤其在空投和营销领域。
- 随着压缩技术优化,可能支持更多动态功能。
总结
-
选择 Metaplex Core NFT,如果你的项目需要:
- 高可编程性、动态元数据或复杂规则。
- 强制版税或高级功能。
- 适用于中小规模、高价值的艺术品或游戏资产。
-
选择 Bubblegum NFT,如果你的项目需要:
- 极低成本铸造和大规模分发。
- 适合空投、收藏品或会员凭证。
- 高扩展性,处理百万级 NFT 集合。
如果你有具体项目需求(如铸造流程、代码示例或市场选择),可以告诉我,我可以提供更详细的指导!