教你如何在 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
留言分享你的想法!
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
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 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