Metaplex 是 Solana 的 NFT 标准和工具的集合。了解如何使用 Metaplex 实现 Solana NFT 铸币、NFT 空投、NFT 店面等!
什么是 Metaplex?
Metaplex 是一个基于Solana构建的合约网络,旨在增强区块链的 NFT 社区。该生态系统有四个合约:Token Metadata、Token Vault、Auction 和 Metaplex。虽然 Metaplex 一词通常指合约生态系统,但在本概述中,我们将用它来指代 Metaplex 合约(四个合约之一)。
Metaplex 为何重要?
Metaplex 生态系统开启了与 Solana 上的 NFT 交互的全新方式,因此已成为 Solana 上事实上的 NFT 工具。通过 Metaplex,用户可以铸造 NFT、举办一级/二级销售拍卖,并以标准方式可视化 NFT。
Metaplex 智能合约
Metaplex 生态系统由四个独立合约组成,它们通过 Metaplex 合约进行通信,为 Solana 开发人员提供创建 NFT 所需的工具。
1. 代币元数据
该合约被称为“铸币厂装饰器”,它使 NFT 创建者能够将元数据 PDA(程序派生地址)附加到他们的铸币厂。此关联的 PDA 包含 NFT 收藏的基础信息,例如名称、符号、特许权使用费和售出状态。
2. 代币库
顾名思义,Token Vault 合约可以保存从任何铸币厂存入的 NFT,并实现对保险库及其 NFT 的部分所有权。
保险库有两种状态:激活和合并。
当处于“已激活”状态时,保险库中的任何 NFT 都将被锁定且无法访问。保险库所有者现在可以在保险库中发行和出售库存股,从而创建保险库中任何 NFT 的部分所有权。
仅当没有流通的零碎股份时,即金库所有者拥有所有股份时,金库才能转换为“合并”状态。要收回金库中的 NFT,金库所有者必须回购市场上的所有零碎股份,然后才能“合并”金库。
3.拍卖
拍卖合约充当 Metaplex 上的拍卖机制,并促进英式拍卖和公开版拍卖形式的 NFT 拍卖。
作为一个简单的竞拍和出售程序,Auction 无需了解 Metaplex 生态系统中的 NFT 或其他资源即可运行。这种分离大大减少了故障点并提高了 Auction 程序的灵活性。
4.Metaplex
Metaplex 合约提供了AuctionManagers,用于管理上面列出的三个主要合约。AuctionManager 保存所有代币元数据及其对应拍卖的记录,并实现代币元数据、代币保险库和拍卖合约之间账户数据的平稳转换。
Metaplex 工具和功能
以下是 Metaplex 最重要的功能,包括它们的作用、何时使用它们、它们为何重要以及如何开始使用这些功能进行构建!
Metaplex Storefront 是什么?
Metaplex Storefront 是一个通过 Metaplex 合约创建和销售 NFT 的一体化 NFT 市场。与Magic Eden 等中心化 Solana NFT 市场不同,任何人都可以创建和自行托管 Storefront 作为白标解决方案,也可以使用现有的品牌 Storefront。
Metaplex Storefront 功能的这一独特的自托管功能使用户能够充分享受 Solana 去中心化的好处,因为他们可以创建自己的 NFT 市场。
如何使用 Metaplex 创建店面
这是有关如何创建 Storefront 的简要概述,Metaplex 的原始文档中对此进行了详细介绍。
首先,您需要在 Github 上克隆并启动 Metaplex Storefront 源代码。
接下来,访问 http://localhost:3000/ 并将 Solana 网络切换到 Devnet。
如果您不熟悉 Solana 测试网络,请阅读我们关于使用 Solana 的 devnet 的完整指南。
然后,通过单击“初始化商店”并批准交易来初始化店面。
在 Store 配置部分,复制代码并将其粘贴到位于js/package/web 的.env文件中。
现在,使用 重新启动网站yarn start
。
您现在拥有一个与您的地址关联并由您托管的店面!
通过 Storefront 的默认 UI,您可以铸造 NFT 并将其列出出售,既可以作为即时“立即购买”选项,也可以将其列为拍卖。创建 NFT 时,您可以指定描述、版税和图像。
由于 Metaplex 的 Storefront NFT 工具是开源且可定制的,因此您可以更新分叉的 GitHub 代码来修改用户界面 (UI) 并添加新功能,例如创建 NFT 保管库或刻录 NFT。
什么是 Candy Machine v2?
Candy Machine(CM)是一个链上生成 NFT 分发程序,旨在简化买家、卖家和创作者的 NFT 体验。
Candy Machine V2 是第二次迭代,具有改进和增加的功能。在 CM 之前,没有通用程序来管理 Solana 上 NFT 的铸造和销售。这导致 NFT 创作者和收藏者出现无数错误和糟糕的用户体验,这激发了 Metaplex 开发团队创建 Candy Machine。
Candy Machine 解决了 NFT 分发中的根本问题,从而简化了用户与 NFT 的交互:
定义精确的铸币时间段
仅当可以铸造 NFT 时才接受买家资金
通过强制执行元数据类型来帮助程序创建一致的 NFT
糖果机 v2 增加了更多功能:
不可预测的铸币指数——由于 v1 是按顺序铸造的,因此可以防止买家抢购收藏品中的特定 NFT
白名单- 仅允许铸造某些地址
验证码- 防止机器人铸造
此外,v2 现在支持更大的集合、隐藏和显示功能,允许 web3 开发人员随时更新其配置,并暂停正在进行的铸造。
如何使用糖果机 v2
由于 Candy Machine 是一个完全链上的 NFT 铸造程序,因此任何交互都必须以编程方式进行,尽管有些 UI 可以自动执行某些功能,但用户需要具备基础编程经验才能充分利用 Candy Machine。要开始使用 CM v2,请参阅 Metaplex 的官方文档。
Gumdrop 是什么?
Gumdrop 是Solana 低 gas 成本空投的新测试版工具。Gumdrop 由 Metaplex 社区开发,通过向大量用户发送链下兑换链接(例如通过社交媒体)来实现空投。它为项目提供了一种以低廉成本分发与 Metaplex 集成的代币的简单解决方案。
与传统的空投框架(代币出现在用户的 Solana 钱包中)不同,Gumdrop 使用“基于拉取”的模式,用户必须主动领取代币,否则将失去代币。Gumdrop 使用 Merkle 树来检查用户是否在白名单中,这允许在链上进行快速计算。
Gumdrop 在 Solana 上支持多种类型的代币投放:
代币空投
糖果机预售
版画
在所有情况下,drop 都会从白名单用户中构建一个 merkle 树,并以链下方式分发声明链接。
如何使用 Gumdrop
您可以以编程方式使用 Gumdrop,也可以通过引导式 Solana 空投 UI 获得交互式体验。有关编程步骤,请参阅官方文档。要使用图形用户界面 (UI),请按照以下说明操作:
您可以采取三种措施:
创造
宣称
关闭
在创建页面,指定领取方式(空投类型)。
接下来,选择一种链下分发方法。
根据选择,您需要填写其他输入,包括铸币地址,以完成创建。
在领取页面上,用户可以发起空投领取,并通过 Solana 空投白名单的 merkle 树进行验证。
在关闭页面上,创建者可以通过提供私钥和铸造地址来删除 Gumdrop 空投。
一旦关闭,用户将无法领取空投的代币。
什么是拍卖行?
AuctionHouse 是一个链上无托管的 NFT 销售程序,允许创建者和铸币者无缝拍卖和销售 NFT。AuctionHouse 是一个独立于自托管前端 Storefront 网站的概念——它是一个部署在链上的程序,接受 SOL 和任何 SPL 代币。通过使用 AuctionHouse,开发人员可以避免编写自己的 NFT 销售程序的复杂性和错误。
任何 Solana NFT 市场都可以实施 AuctionHouse 协议以受益于其功能,例如 NFT 列表的自动买家和卖家匹配。
与其他常见的拍卖流程不同,买家需要“认领” NFT,而销售交易会自动执行所有必要的交互。换句话说,AuctionHouse 将所有不必要的步骤简化为终端用户的直观操作,同时为开发人员提供标准化程序。
AuctionHouse 有多种可配置的参数。例如,卖家可以创建 Solana NFT 收藏品的部分卖单,并自定义费用和资金目的地,还可以强制拍卖行签署所有交易。AuctionHouse 还可以接受部分或全部 SPL 代币。
AuctionHouse 还保留所有 NFT 交易收据(例如上市、竞标和销售)的历史记录。
如何使用拍卖行
目前,AuctionHouse 仅提供用 TypeScript 编写的CLI 库,但图形用户界面 GUI 实现即将推出。
首先,克隆包含 AuctionHouse 库的一体化 Metaplex。
然后,在metaplex文件夹的 CLI(JS)子文件夹中安装必要的包。
最后,使用现有的密钥对,您可以创建拍卖行。
交易成功后,您的命令行应该显示这些消息。
注意:你的拍卖行钥匙将会有所不同
更多 CLI 流程请参考官方文档。
什么是糖?
Sugar 是 Candy Machine v2 命令行的替代品,它为开发人员提供了更好的性能和简化的步骤。它为 Solana NFT 开发人员提供了一个交互式流程,使他们能够部署 Candy Machine v2,而无需在原始命令行界面 (CLI) 中付出太多复杂性和麻烦。
与使用 CM v2 CLI 相比,Sugar 提供了许多好处,如其文档中所述:
媒体/元数据文件上传性能更佳
利用货物简化建造和安装程序
强大的错误处理和输入验证
更多信息性错误消息
如何使用糖获取 Solana NFT Drops
首先,使用 cargo 安装 Sugar 库。
接下来,使用您想要的Solana RPC 节点提供商和密钥 对修改 Solana CLI 配置。
最后,启动交互式会话来部署糖果机。
Hydra 是什么?
Hydra是一款钱包钱包,能够将资金分发给数量庞大的会员地址。它也被称为“扇出钱包”,因为它类似于主钱包的扇出钱包。Hydra 具有令人兴奋的功能,例如代币化版税(即将收到的版税分发给会员)和代币会员(例如轻松的质押奖励)。
Hydra 钱包的生命周期分为三个阶段:
创建
会员添加
分配
1. 创建阶段
在创建阶段,您,即创建者(称为授权者),可以创建一个 Hydra 钱包。有多个角度的自定义,例如会员模式、名称、接受的代币(SOL 或任何 SPL 代币)以及会员总份额。
由于其操作和要求复杂,创建一个 Hydra 钱包将花费数百 SOL。
2. 会员添加阶段
在会员添加阶段,你可以将一个账户作为会员添加到 Hydra 钱包。你可以添加普通钱包(用户)、NFT 和代币,这涉及一种更复杂的方法来计算基金份额。
3. 分发阶段
在分配阶段,Hydra 钱包会被多次调用,根据会员的份额将会员资金分配给每个会员。
每次分发调用都必须包括接收成员,Hydra 钱包在其整个生命周期内需要多次调用。这种每个成员一次调用的设计允许钱包在处理大量成员时保持较低的处理和内存成本。
如何使用 Hydra
Hydra是另一个可以调用进行交互的链上程序。
Hydra 的程序 ID 为:
主网:hyDQ4Nz1eYyegS6JfenyKwKzYxRsCWCriYSAjtzP4Vg
开发网络:hyDQ4Nz1eYyegS6JfenyKwKzYxRsCWCriYSAjtzP4Vg
官方文档包含与 Hydra 钱包交互和创建 Hydra 钱包的最少代码示例。您可以按如下方式创建钱包:
您也可以在几行代码内添加新成员(他们的地址)。以下是添加钱包地址作为成员的示例。
安曼是什么?
Amman 是一个通过运行本地验证器来测试 Solana SDK 库和应用程序的工具包。该工具包由 Metaplex 基金会开发,旨在增强涉及高频更新和测试的项目的开发人员体验。
尽管 gas 费用较低,但在主网上部署复杂的 Solana 程序可能成本过高。因此,为了快速部署和测试应用程序和 SDK 库,开发人员可以使用 Solana 开发网、测试网或本地验证器。
由于测试网/开发网需要不断的空投和重复的部署和等待过程,因此最好使用本地验证器进行快速、无 WiFi 部署和测试。
此外,运行本地验证器可保证测试时 100% 的正常运行时间,而测试网/开发网在此过程中可能会离线。
Amman CLI 包括中继、验证器接口和模拟存储服务器,它们共同充当验证器。
Amman 客户端包括断言、地址标签、交易接口和中继客户端,所有这些都应该在测试中使用,并且浏览器要与本地验证器连接。
如何使用安曼
Amman Github repo提供了运行 Amman 的出色指南。您需要克隆该 repo 才能开始使用 Amman。
要运行 Amman CLI,您需要创建一个配置文件。Amman GitHub repo 中提供了一个示例。
使用配置文件,您可以使用以下命令启动并稍后停止本地验证器:
Amman Client 存储库提供了许多可用于测试脚本或 Web 浏览器的 TypeScript 文件。
什么是 Metaboss?
Metaboss 被誉为 Metaplex 的“瑞士军队工具”,它提供了许多围绕 Metaplex 的功能,方便开发人员在生态系统中轻松构建。
由于 Metaplex 是一个快速发展的新系统,开发人员可以实现自己的功能来与 Metaplex 进行交互。Metaboss 通过向生态系统提供一致、标准化的功能来协助这一过程。
Metaboss 提供的一些功能包括:
解码代币铸造账户的元数据
从 JSON 文件创建新的 NFT
获取给定 Candy Machine ID 的当前 NFT 持有者的快照或更新权限
获取给定更新权限的所有糖果机状态和配置账户的列表
更新 NFT 的所有元数据结构字段
如何使用Metaboss
首先,通过运行以下命令将 Metaboss 作为包安装到你的 Solana 程序中:
现在您就可以使用 Metaboss 了!
官方文档中有很多示例。例如,你可以用一行命令从 JSON 文件中创建新的 NFT。
首先为NFT准备JSON文件new_nft.json 。
然后,您可以使用以下命令创建任意数量的此 NFT:
如何在 Alchemy 上开始使用 Metaplex
Alchemy 为Solana API提供了最强大的免费计划,供开发人员立即开始构建。