简介

概述

新Bubblegum版本

我们建议使用Bubblegum v2以获得更多灵活性和功能。

请注意,某些Bubblegum指令需要协议费用。请查看协议费用页面以获取最新信息。

Bubblegum是Metaplex协议程序,用于在Solana上创建和交互压缩NFT(cNFT)。压缩NFT通过重新思考链上数据存储方式,使NFT的创建规模达到新的数量级。

入门指南

选择您偏好的语言或库,开始使用压缩NFT。

API参考

正在寻找特定内容?查看我们的API参考找到您的答案。

介绍

随着NFT在Solana区块链上蓬勃发展,越来越需要NFT像互联网上的任何数字资产一样普及:游戏库存中的每一件物品、您最喜爱的消费者应用中的参与证明,甚至是地球上每个人的个人资料。

然而,到目前为止,这些类型的产品一直受到Solana上NFT租金成本的限制,虽然相对便宜但呈线性增长。NFT压缩大大降低了NFT链上存储的成本,使创作者能够随心所欲地使用该技术。

使用默克尔树在Solana上启动cNFT项目可以非常经济实惠,成本低至:

cNFT数量存储成本交易成本总成本每个cNFT成本
10,0000.22220.050.27220.000027222
100,0000.26560.50.76560.000007656
1,000,0000.312255.31220.000005312
10,000,0000.42365050.42360.000005042
100,000,0007.2205500507.22050.000005072
1,000,000,0007.22055,0005007.22050.000005007

这些压缩NFT可以转移、委托,甚至可以解压为常规NFT,以便与现有智能合约互操作。

默克尔树、叶子和证明

压缩NFT仅存在于默克尔树的上下文中。我们在专门的高级指南中解释了什么是默克尔树,但就本概述而言,您可以将默克尔树视为我们称之为叶子的哈希集合。每个叶子都是通过对压缩NFT的数据进行哈希获得的。

对于默克尔树中的每个叶子,都可以提供一个哈希列表——称为证明——使任何人都能验证给定的叶子是该树的一部分。每当压缩NFT被更新或转移时,其关联的叶子将改变,其证明也会改变。

因此,默克尔树作为链上结构,允许任何人验证给定的压缩NFT是否存在。它们在不存储任何NFT数据的情况下做到这一点,这使它们具有如此高的可扩展性。

这就引出了一个重要的问题:NFT数据存储在哪里?

Metaplex DAS API

当我们铸造一个新的压缩NFT时,它的数据被哈希并作为新叶子添加到默克尔树中。但还有更多。此外,整个NFT数据存储在创建压缩NFT的交易中。同样,当压缩NFT被更新时,其更新的数据再次作为变更日志保存在交易中。因此,虽然没有账户跟踪这些数据,但可以查看账本中的所有先前交易并找到该信息。

每次仅仅为了获取一个NFT的数据就需要爬取数百万笔交易,这显然不是最佳的用户体验。因此,压缩NFT依赖一些RPC实时索引这些信息,以便将此抽象化,对最终用户透明。我们将这种能够获取压缩NFT的RPC API称为Metaplex DAS API

请注意,并非所有RPC都支持DAS API。因此,在应用程序中使用压缩NFT时,您可能对"Metaplex DAS API RPC"页面感兴趣,以选择合适的RPC。

我们在高级"存储和索引NFT数据"指南中更详细地讨论了这一点。

功能

尽管NFT数据不存在于账户中,但仍然可以对压缩NFT执行各种操作。这是通过请求当前NFT数据并确保其哈希后的叶子在默克尔树上有效来实现的。因此,可以对压缩NFT执行以下操作:

后续步骤

现在我们了解了压缩NFT在高层次上是如何工作的,我们建议查看我们的入门指南页面,其中列举了可用于与压缩NFT交互的各种语言/框架。之后,可以使用各种功能页面了解更多关于可以在cNFT上执行的特定操作。最后,还提供了高级指南来加深您对cNFT和默克尔树的了解。