教你如何在 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
0會員
6內容數
SuDo Research Labs
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
jackchai 的其他內容
本篇文章提供清晰的步驟與代碼,指導開發者如何在實際項目中設置和使用 CandyPay。無論是新手還是有經驗的開發者,您都可以輕鬆掌握如何將這一強大的支付工具無縫整合到應用中,並實現加密貨幣支付功能。文章中還介紹了 NFT-Based Discount 的設置方法,幫助商家擴展客戶忠誠度。
CandyPay 是一個使用 Solana 區塊鏈的 Payment solution,企業只需撰寫幾行程式碼,即可將這個支付基礎設施整合到自己的應用中,並開始接受 Solana Payments。這使得企業能夠輕鬆利用 Solana 提供的快速、低成本的去中心化支付網路。 值得一提的是,Cand
本篇文章提供清晰的步驟與代碼,指導開發者如何在實際項目中設置和使用 CandyPay。無論是新手還是有經驗的開發者,您都可以輕鬆掌握如何將這一強大的支付工具無縫整合到應用中,並實現加密貨幣支付功能。文章中還介紹了 NFT-Based Discount 的設置方法,幫助商家擴展客戶忠誠度。
CandyPay 是一個使用 Solana 區塊鏈的 Payment solution,企業只需撰寫幾行程式碼,即可將這個支付基礎設施整合到自己的應用中,並開始接受 Solana Payments。這使得企業能夠輕鬆利用 Solana 提供的快速、低成本的去中心化支付網路。 值得一提的是,Cand
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
你有聽過Solana上新推出的超強功能 「Token Extension」嗎?有了Token Extension,工程師能夠更快速的在Solana上建立專案,並且大幅增強了各個專案之間融合的便利性。如果你還不知道什麼是Token Extension,這篇文章你必須看完!
Token Extension Standard 是 Solana 區塊鏈上的一個代幣標準, 基於原始的 SPL(Solana Program Library)代幣標準進行構建。 具有增強的安全性和功能、改進的代幣處理能力, 如多重簽名和時間鎖定、設計 用於支持更複雜的代幣操作和使用案例
Thumbnail
前言 本篇要用 Token-2022 和 solana cli 來鑄造一個新的代幣叫做TYC。 如前篇所述,Token-2022 與 Spl Token 是不同的 Program,所以在呼叫的時候要特別註明以示明區別。 Token-2022 Program ID 地址: TokenzQdBNb
Thumbnail
这篇文章主要为大家介绍了这篇文章主要介绍了Solana沦为Meme链了吗 托起TVL的还有链上应用的相关资料,需要的朋友可以参考下本文详细内容 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 售价599美
Solana Writeathon 解釋 Solana Writeathon 可以拆解為兩個部分來理解: 1. Solana: 區塊鏈網絡: Solana 是一個高性能的區塊鏈,以其快速的交易處理速度和低交易費用而聞名。它採用了獨特的共識機制和並行處理技術,使其能夠處理大量的交易。 生態系統
Thumbnail
This is 就這樣栽進Web 3.0 &Economic 的路易斯啦!!!! 秉持著Simple Is Good,「Solana 創研松」徵文策展,我參上! 開始正題之前,先介紹 Solana的基本概念,Let's Go!!! Solana 是一個區塊鏈平台,旨在提供高速度和低成本的交易
Thumbnail
隨著 Web3 技術的發展,我們需要充滿創新思維的你,對於區塊鏈的議題進行知識的交流與分享! 本次 vocus 與 Gen3 合作,針對 Solana 區塊鏈的相關話題進行徵文,一起來看看怎麼參加吧!
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
你有聽過Solana上新推出的超強功能 「Token Extension」嗎?有了Token Extension,工程師能夠更快速的在Solana上建立專案,並且大幅增強了各個專案之間融合的便利性。如果你還不知道什麼是Token Extension,這篇文章你必須看完!
Token Extension Standard 是 Solana 區塊鏈上的一個代幣標準, 基於原始的 SPL(Solana Program Library)代幣標準進行構建。 具有增強的安全性和功能、改進的代幣處理能力, 如多重簽名和時間鎖定、設計 用於支持更複雜的代幣操作和使用案例
Thumbnail
前言 本篇要用 Token-2022 和 solana cli 來鑄造一個新的代幣叫做TYC。 如前篇所述,Token-2022 與 Spl Token 是不同的 Program,所以在呼叫的時候要特別註明以示明區別。 Token-2022 Program ID 地址: TokenzQdBNb
Thumbnail
这篇文章主要为大家介绍了这篇文章主要介绍了Solana沦为Meme链了吗 托起TVL的还有链上应用的相关资料,需要的朋友可以参考下本文详细内容 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 售价599美
Solana Writeathon 解釋 Solana Writeathon 可以拆解為兩個部分來理解: 1. Solana: 區塊鏈網絡: Solana 是一個高性能的區塊鏈,以其快速的交易處理速度和低交易費用而聞名。它採用了獨特的共識機制和並行處理技術,使其能夠處理大量的交易。 生態系統
Thumbnail
This is 就這樣栽進Web 3.0 &Economic 的路易斯啦!!!! 秉持著Simple Is Good,「Solana 創研松」徵文策展,我參上! 開始正題之前,先介紹 Solana的基本概念,Let's Go!!! Solana 是一個區塊鏈平台,旨在提供高速度和低成本的交易
Thumbnail
隨著 Web3 技術的發展,我們需要充滿創新思維的你,對於區塊鏈的議題進行知識的交流與分享! 本次 vocus 與 Gen3 合作,針對 Solana 區塊鏈的相關話題進行徵文,一起來看看怎麼參加吧!