跳至內容
0%

如何使用 Metaplex 和 Gumdrop 空投 Solana NFTs

發布於 2022年8月2日閱讀時間 3 分鐘

This tutorial walks you through how to airdrop NFTs on Solana using Gumdrop, one of the NFT tools created by Metaplex。如果你剛開始接觸在 Solana 上開發 NFT 專案,這篇新手教學就是為你準備的。

預估完成時間:15 分鐘

在本教學中,我們將會:

  1. 建立一個 NFT
  2. 鑄造一個 NFT
  3. 使用 Gumdrop Command Line Interface(CLI)空投 NFT
  4. 使用 Vervel 和 Gumdrop 建立可以分享給朋友的連結

如果你目前還不了解這些名詞的意思也不用擔心!我們會一起把每個步驟走過一遍。

什麼是 NFT 空投?

NFT 空投是指將免費的 NFT 轉移到某個錢包地址。NFT 空投是 NFT 專案常用來獎勵收藏者、提升社群參與度,或發放即將鑄造的 NFT 白名單代幣的方式。NFT 空投最常被當作一種 NFT 行銷手法使用。

以下是一些 NFT 空投的例子:

  1. Swim Protocol - 向使用其跨鏈橋的用戶空投 Swimmer NFT
  2. Aurory - 向持有 Aurorian NFT 的收藏者空投新的藝術作品與收藏品
  3. Degenerate Ape Academy - 向代幣持有者空投鑄造代幣,讓他們參與 Degenerate Trash Panda 的鑄造

透過向持有者贈送免費物品,NFT 專案可以持續為其代幣與社群創造價值。

什麼是 gumdrop?

Gumdrop 是 Metaplex 推出的 NFT 功能,讓創作者能透過離線 handle 建立樹狀結構,直接將白名單使用者導向一個領取連結,並允許使用者將 NFT 兌換到任意錢包中。Gumdrop 也可以搭配 Candy Machine 使用,完成 NFT 空投並分發代幣。

Gumdrop 透過白名單簡化了發放我們的 Non-fungible token 的流程,讓在 Solana 上進行 NFT 空投變得容易。

如何使用 gumdrop 空投 Solana NFT

為了確保你在進行這篇教學時一切就緒,你需要在你的機器上安裝以下工具:

  1. NodeJS(version 16)
  2. TS-Node
  3. SolanaCLI
  4. Yarn
  5. Git
  6. Metaplex CLI
  7. Phantom Wallet

如果你剛開始接觸 Solana 開發,請先了解如何安裝 Solana 開發者工具後再繼續往下進行。

如果你的機器上安裝了不同版本的 Node,可以使用 NVM

如果現在覺得資訊量有點多也不用擔心,我們接下來會逐一示範每個工具的功能。

步驟 1. 使用 gumdrop CLI 進行初始化

Gumdrop CLI 的安裝與設定都可以透過 Gumdrop GitHub repository 完成,裡面提供了你所需要的一切。讓我們先把這個 repository clone 到本機。在繼續之前,我們也需要確認已經安裝了 node、yarn 和 ts-node。

你可以透過以下指令安裝 ts-node:

你可以透過以下指令進行驗證:

現在,讓我們在終端機中使用 mkdir 指令建立一個空資料夾。我們將這個資料夾命名為 solana-airdrop。

在該資料夾內執行以下指令,建立一個 Solana wallet

你在終端機看到的訊息應該妥善保存,因為之後會需要用到 pubkey 和 seed phrase。

以下是這個訊息大致的樣子:

solana-keygen 產生新 Solana 錢包公鑰與助記詞的終端機輸出
Solana 錢包產生輸出結果

接下來,將 Gumdrop 專案 clone 到 solana-airdrop 資料夾中:

然後我們切換到包含 CLI 的目錄:

接下來,執行:

這個指令會安裝所有必要的相依套件。安裝過程可能需要幾分鐘的時間。

接下來,我們要連線到 Solana Devnet cluster,因為在學習階段我們不想花任何真實的錢。要注意的是,實際應用時我們會需要使用 mainnet。你可以透過以下指令切換到 devnet:

現在,我們需要建立一個新的 key 來持有我們的 NFT。這裡的「Se」代表我們的 pubkey 是以「Se」開頭

產生 Solana 金鑰對的終端機輸出,公鑰開頭為 Se
Solana 金鑰對產生輸出結果

讓我們再執行幾個指令來設定我們新的 Solana 地址:

這應該會顯示以下內容:

設定 Solana CLI 使用新錢包地址後的終端機輸出
Solana 錢包地址設定輸出結果

步驟 2. 為你的 Devnet 錢包儲值

現在我們需要取得測試用的 Solana 代幣。由於我們在 devnet 環境中,你可以在終端機執行以下指令快速取得一些 sol:

或者,你也可以從一個 Solana faucet 取得一些 devnet SOL 代幣。

Solana faucet 網站介面
Solana faucet 網站介面

你可以在命令列執行以下腳本,確認你的 devnet 錢包中已經有 Solana:

步驟 3:將 Phantom wallet 連接到 Devnet cluster

現在,我們要將剛剛建立的 devnet 錢包連結到 Phantom。要這麼做,請點選 settings,選擇 Change Network,然後選擇 Devnet

Phantom 錢包設定:將網路切換至 Solana Devnet 叢集
將你的 Phantom 錢包連接至 Solana 的 devnet 叢集

步驟 4. 將 Devnet 錢包加入 Phantom

現在我們必須取得 devnet 錢包的私鑰。開啟你的終端機,使用 cat 檢視 keypair.json 檔案的內容以取得該資訊:

要將 devnet 錢包加入 Phantom:

  1. 開啟 Phantom
  2. 複製你剛剛取得的輸出內容
  3. 為它取一個合適的名稱
  4. 從左上角的導覽選單中選擇 Import Private Key
  5. 點選 Add/Connect Wallet
  6. 將 key 貼到 Private Key 欄位中

現在,你的 Devnet Phantom Wallet 應該會顯示 5 SOL。

步驟 5. 建立一個 NFT

你可以使用像 Metaplex、Holaplex 或 Solsea 這類遵循 metadata standard 的平台來建立並鑄造你的 Solana NFT。

以下是首先要做的事:

  1. 設定好你的錢包,並確保裡面有一些 SOL 代幣
  2. 造訪 Holaplex 網站
  3. 將你的 Phantom wallet 連接到 Metaplex 平台

Metaplex 會要求檢視你資金的權限,並要求核准交易。你可以核准這些請求。

Holaplex 建立頁面:上傳作品與細節以鑄造 Solana NFT
使用 Holaplex 建立 NFT

接下來:

  1. 點選 create 頁籤
  2. 選擇 browse file
  3. 上傳任意一張你選擇的圖片
  4. 為你的圖片新增 Namedescription
  5. 加入一些 attributes
  6. 點選 Next

我們將 NFT 設定為 unlimited,讓我們可以依需要鑄造任意數量的複本。

點選 mint 並成功之後,我們應該就能在錢包中看到這個 NFT。

現在,取得 metadata 並將其儲存在安全的檔案中,然後將這個 NFT 從你的 Phantom wallet 轉移到你先前產生的 pubkey 地址。

你可以透過執行以下指令查詢:

另外,更進階的 Solana 開發者可以使用 Candy Machine 進行鑄造。

步驟 6. 選擇你的空投類型

在繼續之前,你必須了解 gumdrop 程式支援三種空投類型:

  1. The Token Airdrop
  2. NFT candy machine pre-sale
  3. The Edition prints

我們也必須定義我們的分發方式與白名單:

以下列出一系列選項,指引我們如何使用這個 CLI:

在空投類型方面,我們會選擇 Token Airdrop

這個方法讓 CLI 可以把代幣移到產生出來的一次性 keypair 中,讓後續建立更多 gumdrop 的邏輯更加合理。

在分發方式方面,我們可以透過 SMS、Discord、Email 或錢包進行空投。在這篇教學中,我們使用以下指令透過錢包進行空投:

在繼續執行完整指令之前,我們必須先建立一個 whitelist.json 檔案。這份 allowlist 將用來指定空投的接收對象。

它是一份清單,內容包含接收者以及識別用的值,例如要領取的 mint 或 print,以及版本數量。

whitelist 的格式如下:

你可以用以下資訊取代並依照將收到 NFT 空投的朋友人數填入內容。

接著,我們可以透過以下指令參照這份分發清單:

最後,執行以下所有指令:

步驟 7. 空投 Solana NFT

現在,讓我們把 NFT 空投到你選擇的地址。在檔案目錄中,找到「log」資料夾,檢查裡面所有的檔案,並找出如下所示、包含 URL 的 .json 檔案。這個檔案的內容就是 whitelist.json 檔案的內容,其中附有針對空投接收者的 URL。你可以在瀏覽器中開啟這個連結。

你應該會看到類似這樣的畫面:

Gumdrop NFT 領取介面
Gumdrop NFT 領取介面

Gumdrop 提供了一個互動式 UI,讓接收者可以輕鬆地領取他們的空投。我們可以將這個自訂的 gumdrop 網站部署到 Vercel。

就是這樣!你已經建立了一個可以將 NFT 空投給朋友的 gumdrop 網站。

步驟 8:關閉一個 gumdrop

當 gumdrop 完成後,可以透過關閉該 gumdrop 來回收 master edition。如果你關閉 gumdrop,接收者可能就無法再領取他們的 gumdrop。

用來關閉 gumdrop 的程式碼片段如下:

若要撤回權限或回收代幣,你可以傳入更多關於 claim 整合的資訊。

步驟 9:部署一個自訂的 gumdrop 網站

你可以選擇部署你自己的 Gumdrop 網站。我會推薦使用 Vercel,它以提供穩健的開發者體驗聞名,尤其適合用來建置前端框架和靜態網站。

首先,前往 Vercel 註冊一個免費帳號,並使用 GitHub 以加快整合速度。

Vercel 儀表板:建立新專案以部署 Gumdrop 空投網站
在 Vercel 中建立新專案

以下是接下來要做的事:

  1. 選擇 new project,並從你的 Github repository 匯入該檔案
  2. 填入 Project name 並指定目錄
  3. 開啟 Build and Output Settings,並依照下方所示進行調整‍
從 GitHub 匯入檔案,為你的 Solana NFT 空投建立 Vercel 網站
從 GitHub 匯入檔案,為你的 Solana NFT 空投建立 Vercel 網站

現在,確認 Output Directory 已設定為 override,然後點選 Deploy,就能取得這個專案專屬的連結!

恭喜!你剛剛部署了一個自訂的 Gumdrop 網站 🎉

如果你想要分享給朋友,只要把連結分享出去即可。你也應該取得他們的錢包地址,因為這裡的 allowlist 分發方式是設定為 wallet。

Background gradient

打造區塊鏈魔法

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