教你如何在 Solana 上使用 Token Extensions 創建Dynamic Metadata NFTs

更新 發佈閱讀 4 分鐘

Introduction

Dynamic Metadata NFTs 是區塊鏈技術中的一大創新,特別是在遊戲領域,能提供更大的靈活性和on-chain data manipulation。

Solana 區塊鏈的 Token Extensions program讓開發者能創建dynamic, customizable metadata且能在鏈上儲存的 NFT。

本文將引導你使用 Solana 的 Anchor 框架來建立這樣的 NFT。

Dynamic Metadata

傳統 NFT 的 Metadata通常儲存在鏈下,這限制了它們的靈活性。而Dynamic Metadata NFT 則允許即時更新和鏈上互動,特別適合用於遊戲中,因為這樣玩家的等級、資源等都能直接編寫進 NFT 中,提供更流暢的遊戲體驗。

設置On-Chain Program

要建立具有dynamic metadata的 NFT,首先需要使用 Solana 的 Anchor 框架來設定一個on-chain program。這個program會鑄造 NFT,並允許實時更新其metadata。

之後會使用官方提供的、專注於遊戲應用的範例,該範例中的 NFT 會追蹤玩家的等級和資源。

步驟:

  1. 創建 Mint Account:首先創建並初始化一個用來儲存 NFT 的 Mint Account
  2. 創建Metadata Pointer:Metadata Pointer是用來連接dynamic metadata與 NFT 的。
  3. 鑄造 NFT:當infrastructure準備就緒後,鑄造 NFT 並將其存入關聯的代幣帳戶。鑄造後,凍結 mint 權限以防止對 NFT 進行進一步更改。

撰寫 Rust Program

Rust 是on-chain operations的核心,主要包括計算account所需的空間、初始化account、並創建metadata fields。

初始化帶有metadata extensions功能的 mint account

let space = ExtensionType::try_calculate_account_len::<Mint>(
&[ExtensionType::MetadataPointer])
.unwrap();

let lamports_required = (Rent::get()?).minimum_balance(space + meta_data_space);
system_program::create_account(
CpiContext::new(
ctx.accounts.token_program.to_account_info(),
system_program::CreateAccount {
from: ctx.accounts.signer.to_account_info(),
to: ctx.accounts.mint.to_account_info(),
},
),
lamports_required,
space as u64,
&ctx.accounts.token_program.key(),
)?;

JavaScript 客戶端整合

JavaScript 客戶端用來與on-chain program進行互動,從前端實現 NFT 的鑄造和更新。

以下代碼將展示如何設置客戶端、將其連接到on-chain program,以及鑄造 NFT並指定所需的帳戶和權限。

raw-image


Running Locally and Deployment

要在本地運行並部署程式,首先需要設置 Solana 的開發環境,然後build並部署 Anchor 程式。

可以使用 anchor buildanchor deploy 等命令來管理部署過程。

步驟:

  1. build 與部署:build 並部署 Anchor 程式。
  2. 客戶端設置:安裝相關dependencies 並運行開發伺服器。
  3. 測試:使用 Solana Explorer 監控交易並與本地測試節點進行互動。

結論

通過利用 Solana 的 Token Extensions 和 Anchor 框架,開發者能夠創建靈活、互動性強的數字資產,進一步提升區塊鏈生態系統中的用戶體驗。

參考資料

https://solana.com/developers/guides/token-extensions/dynamic-meta-data-nft

留言
avatar-img
jackchai
0會員
6內容數
SuDo Research Labs
jackchai的其他內容
2024/08/14
因為要宣傳Solana 創研松,因此在XueDAO的群組裡面開啟了<每天一些Solana學習資源直到創研松結束>的系列貼文,但總覺得只有XueDAO成員看到很可惜,加上其實找到的都是一些不錯的資源,分享在這上面也可讓大家一起學習,所以寫這篇文!
Thumbnail
2024/08/14
因為要宣傳Solana 創研松,因此在XueDAO的群組裡面開啟了<每天一些Solana學習資源直到創研松結束>的系列貼文,但總覺得只有XueDAO成員看到很可惜,加上其實找到的都是一些不錯的資源,分享在這上面也可讓大家一起學習,所以寫這篇文!
Thumbnail
2024/08/14
上一篇有提到,在Solana RetroPGF 第 1 輪中,總共吸引了超過100個計畫申請人,其中約36個計畫獲得了資助。
Thumbnail
2024/08/14
上一篇有提到,在Solana RetroPGF 第 1 輪中,總共吸引了超過100個計畫申請人,其中約36個計畫獲得了資助。
Thumbnail
2024/08/14
回溯性公共財募資(Retroactive Public Goods Funding,RPFG)是一種事後可追溯的公共財募資,也是一種新興且具有創新性的資助模式,因為他以成果為導向,專門用來激勵和支持區塊鏈生態系統中的公共財項目。
Thumbnail
2024/08/14
回溯性公共財募資(Retroactive Public Goods Funding,RPFG)是一種事後可追溯的公共財募資,也是一種新興且具有創新性的資助模式,因為他以成果為導向,專門用來激勵和支持區塊鏈生態系統中的公共財項目。
Thumbnail
看更多
你可能也想看
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
Dynamic Metadata NFTs 是區塊鏈技術中的一大創新,特別是在遊戲領域,能提供更大的靈活性
Thumbnail
Dynamic Metadata NFTs 是區塊鏈技術中的一大創新,特別是在遊戲領域,能提供更大的靈活性
Thumbnail
前言 本篇要用 Token-2022 和 solana cli 來鑄造一個新的代幣叫做TYC。 如前篇所述,Token-2022 與 Spl Token 是不同的 Program,所以在呼叫的時候要特別註明以示明區別。 Token-2022 Program ID 地址: TokenzQdBNb
Thumbnail
前言 本篇要用 Token-2022 和 solana cli 來鑄造一個新的代幣叫做TYC。 如前篇所述,Token-2022 與 Spl Token 是不同的 Program,所以在呼叫的時候要特別註明以示明區別。 Token-2022 Program ID 地址: TokenzQdBNb
Thumbnail
Blink,是 Solana 所開發的一種鏈上操作轉化為前端頁面的創新技術。這個功能可以將交易、投票等操作轉換成可分享的連結或二維碼,讓用戶可以直接在社交媒體上完成鏈上操作。
Thumbnail
Blink,是 Solana 所開發的一種鏈上操作轉化為前端頁面的創新技術。這個功能可以將交易、投票等操作轉換成可分享的連結或二維碼,讓用戶可以直接在社交媒體上完成鏈上操作。
Thumbnail
This is 就這樣栽進Web 3.0 &Economic 的路易斯啦!!!! 秉持著Simple Is Good,「Solana 創研松」徵文策展,我參上! 開始正題之前,先介紹 Solana的基本概念,Let's Go!!! Solana 是一個區塊鏈平台,旨在提供高速度和低成本的交易
Thumbnail
This is 就這樣栽進Web 3.0 &Economic 的路易斯啦!!!! 秉持著Simple Is Good,「Solana 創研松」徵文策展,我參上! 開始正題之前,先介紹 Solana的基本概念,Let's Go!!! Solana 是一個區塊鏈平台,旨在提供高速度和低成本的交易
Thumbnail
Solana Pay是基於Solana區塊鏈開發的支付協議,允許使用加密貨幣進行支付。文章介紹了Solana Pay的優勢和功能,下一篇文章將簡單介紹其API的機制與實作。
Thumbnail
Solana Pay是基於Solana區塊鏈開發的支付協議,允許使用加密貨幣進行支付。文章介紹了Solana Pay的優勢和功能,下一篇文章將簡單介紹其API的機制與實作。
Thumbnail
隨著 Web3 技術的發展,我們需要充滿創新思維的你,對於區塊鏈的議題進行知識的交流與分享! 本次 vocus 與 Gen3 合作,針對 Solana 區塊鏈的相關話題進行徵文,一起來看看怎麼參加吧!
Thumbnail
隨著 Web3 技術的發展,我們需要充滿創新思維的你,對於區塊鏈的議題進行知識的交流與分享! 本次 vocus 與 Gen3 合作,針對 Solana 區塊鏈的相關話題進行徵文,一起來看看怎麼參加吧!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News