關於 Solana Metaplex,你需要知道的一切
作者 Alchemy
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. Token metadata
此合約被稱為「mint decorator」,讓 NFT 創作者能夠將 Metadata PDA(Program Derived Address,程式衍生位址)附加到其 mint 上。此關聯的 PDA 包含 NFT 系列的基礎資訊,例如名稱、代號、版稅費用與售出狀態。
2. Token vault
正如其名,Token Vault 合約可以保管來自任何 mint 存入的 NFT,並支援對該金庫及其中 NFT 進行部分持有。
金庫有兩種狀態:Activated(已啟用)與 Combined(已合併)。
當狀態為「Activated」時,金庫中的任何 NFT 都會被鎖定且無法存取。金庫擁有者此時可以在金庫上發行並出售資金份額,藉此對金庫中的 NFT 建立部分持有權。
只有在沒有任何未流通的部分持有份額時,也就是金庫擁有者持有所有份額時,金庫才能轉換為「Combined」狀態。若要取回金庫中的 NFT,金庫擁有者必須在市場上買回所有部分持有份額,之後才能「合併(Combine)」該金庫。
3. Auction
Auction 合約作為 Metaplex 上的拍賣機制,支援 English Auction 與 Open Edition Auction 兩種格式的 NFT 拍賣。
作為一個簡單的出價與銷售程式,Auction 在運作時不需要了解 NFT 或 Metaplex 生態系統中的其他資源。這種分離大幅降低了故障點,並提升了 Auction 程式的彈性。
4. Metaplex
Metaplex 合約提供 AuctionManagers,用於管理上述三個主要合約。AuctionManager 記錄所有 token metadata 及其對應的拍賣,並讓 Token Metadata、Token Vault 與 Auction 合約之間的帳戶資料能夠順暢轉換。
Metaplex 工具與功能
以下是 Metaplex 最重要的功能,包括它們的作用、使用時機、重要性,以及如何開始使用這些功能進行開發!
什麼是 metaplex storefront?
Metaplex Storefront 是一個一站式的 NFT marketplace,可透過 Metaplex 合約建立並銷售 NFT。與 centralized Solana NFT marketplaces(例如 Magic Eden)不同,任何人都可以將 Storefront 建立並自行架設為白牌解決方案,也可以使用現有的品牌 Storefront。
Metaplex Storefront 這項可自行架設的獨特功能,讓使用者能充分享受 Solana 去中心化帶來的優勢,因為他們可以建立自己的 NFT marketplace。
如何使用 metaplex 建立 storefront
以下是建立 Storefront 的簡要概述,詳細內容請參閱 Metaplex’s original documentation。
首先,你需要在 Github 上複製(clone)並啟動 Metaplex Storefront 的原始碼。
接著,前往 http://localhost:3000/ 並將 Solana 網路切換為 Devnet。
如果你不熟悉 Solana 測試網路,請閱讀我們的 complete guide to using Solana's devnet。
然後,點擊「Init Store」並批准交易,以初始化 Storefront。

在 Store configuration 區段中,複製該程式碼並貼到位於 js/package/web 中的 .env 檔案裡。
現在,使用 yarn start 重新啟動網站。

現在你已經擁有一個與你的地址關聯、由你自行架設的 Storefront!
透過 Storefront 的預設使用者介面,你可以鑄造 NFT 並將其上架銷售,可選擇「Buy Now」即時銷售選項,或以拍賣方式上架。建立 NFT 時,你可以指定描述、版稅與圖片。
由於 Metaplex 的 Storefront NFT 工具是開源且可自訂的,你可以更新 fork 出來的 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 可被鑄造時才接受買家的資金
- 透過強制執行 metadata 型別,協助程式建立一致性的 NFT
Candy Machine v2 新增了更多功能:
- 不可預測的鑄造索引 - 由於 v1 是依序鑄造,此功能可防止買家搶先鎖定系列中的特定 NFT
- 白名單 - 僅允許特定地址進行鑄造
- Captcha - 防止機器人進行鑄造
此外,v2 現已支援更大型的系列、隱藏後揭曉(hide-and-reveal)發行方式,讓 web3 開發者可以隨時更新設定,並暫停正在進行的鑄造。
如何使用 Candy Machine v2
由於 Candy Machine 是完全在鏈上運作的 NFT 鑄造程式,所有互動都必須以程式化方式進行,雖然有一些使用者介面可以自動化部分功能,但使用者仍需具備基礎的程式設計經驗,才能充分運用 Candy Machine。若要開始使用 CM v2,請參閱 Metaplex 的官方文件。
什麼是 gumdrop?
Gumdrop 是一款新的 beta Solana 空投工具,可以低 gas 成本進行空投。Gumdrop 由 Metaplex 社群開發,透過鏈下方式(例如社群媒體)發送兌換連結,讓大量使用者能夠取得空投。它為專案方提供了一個簡單且低成本的方案,用於分發與 Metaplex 整合的代幣。
與傳統空投機制(代幣直接出現在使用者的 Solana wallet 中)不同,Gumdrop 採用「拉取式」(pull-based)模式,使用者必須主動領取代幣,否則將放棄該筆代幣。Gumdrop 利用 merkle tree 來檢查使用者是否在白名單中,這使得鏈上計算能夠快速完成。
Gumdrop 支援多種 Solana 上的代幣空投類型:
- 代幣空投
- Candy Machine 預售
- Edition 版本印製
在所有情況下,空投都會根據白名單使用者建立 merkle tree,並以鏈下方式分發兌換連結。
如何使用 gumdrop
你可以以程式化方式使用 Gumdrop,或透過引導式 Solana 空投使用介面進行互動操作。程式化操作步驟請參閱官方文件。若要使用圖形使用者介面(UI),請依照以下指示操作:

你可以執行三種操作:
- Create(建立)
- Claim(領取)
- Close(關閉)
在 Create 頁面中,指定領取方式(空投類型)。

接著,選擇一種鏈下分發方式。

根據所選項目,你需要填寫額外的輸入內容,包括 mint 地址,以完成建立。
在 Claim 頁面中,使用者可以發起空投的領取,此操作會透過 Solana 空投白名單的 merkle tree 進行驗證。

在 Close 頁面中,創作者可以透過提供私鑰與 mint 地址來刪除一筆 Gumdrop 空投。
一旦關閉,使用者將無法再領取該空投的代幣。

什麼是 AuctionHouse?
AuctionHouse 是一套鏈上、無需託管(escrow-less)的 NFT 銷售程式,讓創作者與鑄造者能夠順暢地拍賣與銷售 NFT。AuctionHouse 與自行架設的前端 Storefront 網站是不同的概念——它是一個部署在鏈上的程式,接受 SOL 以及任何 SPL token。透過使用 AuctionHouse,開發者可以省去自行撰寫 NFT 銷售程式時的複雜性與錯誤。
任何 Solana NFT marketplace 都可以實作 AuctionHouse 協定,藉此享有其功能,例如針對 NFT 上架自動配對買賣雙方。
與其他常見拍賣流程中買家需要「領取」NFT 不同,銷售交易會自動執行所有必要的互動。換句話說,AuctionHouse 將所有非必要步驟簡化為終端使用者直覺的操作,同時為開發者提供一套標準化的程式。
AuctionHouse 提供多種可設定的參數。舉例來說,賣家可以為某個 Solana NFT 系列建立部分銷售訂單,並自訂手續費與資金流向目的地,也可以要求所有交易必須經過拍賣行簽署。AuctionHouse 也可以選擇接受特定或所有 SPL token。
AuctionHouse 也會保存所有 NFT 交易憑證的歷史紀錄(例如上架、出價與銷售)。
如何使用 AuctionHouse
目前,AuctionHouse 僅提供以 TypeScript 撰寫的 CLI library,圖形使用者介面(GUI)的實作即將推出。
首先,複製(clone)包含 AuctionHouse library 的全功能 Metaplex 專案。
接著,在 metaplex 資料夾中的 CLI(JS)子資料夾內安裝必要的套件。
最後,使用現有的 keypair,即可建立一個 AuctionHouse。
交易成功後,你的命令列應該會顯示以下訊息。
注意:你的 auction house key 會有所不同
更多 CLI 操作流程,請參閱官方文件。
什麼是 sugar?
Sugar 是 Candy Machine v2 命令列的替代方案,效能更佳,也為開發者簡化了操作步驟。它為 Solana NFT 開發者提供一個互動式流程,讓他們能夠部署 Candy Machine v2,而無需經歷原本 Command Line Interface(CLI)中的諸多複雜與麻煩。
根據其文件記載,Sugar 相較於 CM v2 CLI 提供了許多優勢:
- 上傳媒體/metadata 檔案時效能更佳
- 利用 cargo 簡化建置與安裝流程
- 更完善的錯誤處理與輸入驗證
- 更具參考性的錯誤訊息
如何使用 sugar 進行 Solana NFT 發行
首先,使用 cargo 安裝 Sugar library。
接著,以你想使用的 Solana RPC node provider 及你的 keypair 修改 Solana CLI 設定。
最後,啟動互動式流程以部署 Candy Machine。
什麼是 hydra?
Hydra 是一種「錢包中的錢包」,能夠將資金分發給規模極大的地址成員集合。它也被稱為「Fanout Wallet」,因為它從主錢包分散出多個錢包,就像扇形展開一樣。Hydra 支援一些有趣的功能,例如代幣化版稅(即把收到的版稅分發給成員)以及代幣成員資格(例如簡易的質押獎勵)。

Hydra 錢包的生命週期分為三個階段:
- Creation(建立)
- Member Addition(新增成員)
- Distribution(分發)
1. 建立階段
在建立階段,你(創作者,即 Authority)可以建立一個 Hydra 錢包。這裡有多種可自訂的面向,例如成員模型、名稱、接受的代幣(SOL 或任何 SPL token),以及成員資格的總份額。
由於其運作與需求較為複雜,建立一個 Hydra 錢包的成本可能高達數百 SOL。
2. 新增成員階段
在新增成員階段,你可以將一個帳戶新增為 Hydra 錢包的成員。你可以新增一般錢包(使用者)、NFT,以及代幣,其中代幣的資金份額計算方式較為複雜。
3. 分發階段
在分發階段,Hydra 錢包會被多次呼叫,依照各成員的份額,將資金分發給每一位成員。
每一次分發呼叫都必須指定接收的成員,而 Hydra 錢包在其生命週期中預期會被多次呼叫。這種「每次呼叫對應一名成員」的設計,讓錢包在處理大量成員時,仍能維持較低的處理與記憶體成本。
如何使用 hydra
Hydra 是另一個部署在鏈上、可被呼叫互動的程式。
Hydra 的程式 ID 如下:
- Mainnet:hyDQ4Nz1eYyegS6JfenyKwKzYxRsCWCriYSAjtzP4Vg
- Devnet:hyDQ4Nz1eYyegS6JfenyKwKzYxRsCWCriYSAjtzP4Vg
官方文件提供了簡短的程式碼範例,說明如何與 Hydra 錢包互動並建立錢包。你可以這樣建立一個錢包:
你也可以只用幾行程式碼新增新的成員(他們的地址)。以下是將某個錢包地址新增為成員的範例。
什麼是 amman?
Amman 是一套工具組,透過執行本地驗證節點(local validator)來測試 Solana SDK library 與應用程式。此工具組由 Metaplex Foundation 開發,用於提升需要高頻更新與測試的專案的開發體驗。
儘管 gas 費用低廉,在 mainnet 上部署複雜的 Solana 程式仍可能成本過高。因此,為了快速部署與測試應用程式及 SDK library,開發者可以選擇使用 Solana devnet、testnet,或本地驗證節點。
由於 testnet/devnet 需要持續進行空投,並反覆進行部署與等待的流程,因此若要快速、無需網路連線地進行部署與測試,較建議使用本地驗證節點。
此外,執行本地驗證節點可保證測試期間 100% 的正常運行時間,而 testnet/devnet 在此過程中可能會發生離線的情況。
Amman CLI 包含 relay、validator interface 與 mock storage server,這三者共同構成一個驗證節點。
Amman Client 則包含 asserts、address labeling、transaction interface,以及一個連接 relay 的客戶端,這些都應用於測試與瀏覽器中,以連接本地驗證節點。
如何使用 amman
Amman Github repo 提供了一份詳盡的指南,說明如何執行 Amman。你需要複製(clone)該儲存庫,才能開始使用 Amman。
若要執行 Amman CLI,你需要建立一個設定檔。Amman GitHub repo 中提供了一份範例。
有了設定檔後,你可以使用以下指令啟動並在之後停止本地驗證節點:
Amman Client repository 提供許多可用於測試腳本或網頁瀏覽器中的 TypeScript 檔案。
什麼是 metaboss?
Metaboss 被譽為 Metaplex 的「瑞士刀工具」,它提供許多圍繞 Metaplex 打造的功能,讓開發者能夠輕鬆在此生態系統中進行開發。
由於 Metaplex 是一個嶄新且快速演進的系統,開發者往往需要自行實作與 Metaplex 互動的功能。Metaboss 透過提供一致且標準化的功能,協助簡化這個過程,造福整個生態系統。
Metaboss 提供的部分功能包括:
- 解碼 token mint 帳戶的 metadata
- 從 JSON 檔案鑄造新的 NFT
- 取得指定 Candy Machine ID 或 update authority 目前 NFT 持有者的快照
- 取得指定 update authority 下所有 candy machine 狀態與設定帳戶的清單
- 更新 NFT 的所有 metadata Data struct 欄位
如何使用 metaboss
首先,執行以下指令,將 Metaboss 以套件形式安裝到你的 Solana 程式中:
現在你已經準備好使用 Metaboss 了!
官方文件中提供了大量範例。舉例來說,你可以用一行指令從 JSON 檔案鑄造一個新的 NFT。
首先為該 NFT 準備 JSON 檔案 new_nft.json。
接著,你可以使用以下指令建立任意數量的這個 NFT:
如何在 Alchemy 上開始使用 metaplex
Alchemy 提供 Solana APIs,並附有市面上最完善的免費方案,讓開發者能夠立即開始建置。
想在 Alchemy 上部署你的 Metaplex NFT 專案嗎?Sign up for a free Alchemy account 立即開始建置!
相關總覽
Solana2026年7月27日
Solana 節點:驗證者、RPC 節點與自架
說明 Solana 節點是什麼、驗證者、RPC 節點與次級資料系統的差異,以及何時該自架、何時該使用服務供應商。
Solana2026年7月22日
Solana 歸檔資料:如何查詢完整區塊與交易歷史
說明 Solana 歸檔資料:節點為何會修剪歷史資料、哪些 RPC 方法需要歸檔存取權限,以及如何大規模查詢完整區塊與交易歷史。
Solana2026年5月28日
Solana Agent Kit vs GOAT vs ElizaOS:該選哪個框架?
比較 Solana Agent Kit、GOAT 與 ElizaOS:Solana 原生深度、多鏈廣度,或完整的 agent runtime。附程式碼範例與選擇依據。

打造區塊鏈魔法
Alchemy 結合最強大的 Web3 開發者產品與工具,並提供資源、社群與卓越的支援。