5 分鐘帶你認識動態NFT(dNFT)和其發展可能性

閱讀時間約 10 分鐘
raw-image

前言
從去年開始,NFT這個詞如火如荼地邁向全世界,相關的科技應用也令它成為了一個企業間炙手可熱的話題。不同於傳統的NFT,動態NFT作為近期更受關注的一個分支,它包含的互動性可變化元素,為它帶來了更多的創新和價值應用。

什麼是動態NFT

首先,動態NFT的最大優勢就如其名 — 高度的變化性延展性。它可以呈現出比靜態NFT更多的元素,比如動畫、聲音、互動式圖像等,而且能隨著時間或條件產生元數據(Metadata)的變動。舉例來說,一個動態NFT的藝術品可以在不同的時間點呈現不同的風格或表現出不同的情感;一個動態NFT的遊戲道具可以隨著遊戲進程升級,提高了遊戲的互動性和可玩性。

動態 NFT 可以更新Metadata的內容,從而改變 NFT 的外觀和屬性

動態 NFT 可以更新Metadata的內容,從而改變 NFT 的外觀和屬性

這主要功虧於其對數據的接受性,您可以透過「鏈上數據」或「鏈下數據」來更改您NFT的屬性。其中鏈上數據可以通過智能合約直接訪問,鏈下數據則需透過預言機(Oracle)進行網上數據抓取後,再添加到區塊鏈中。

如何建造你自己的動態NFT

寫動態NFT需要具備一定的技術知識和專業技能,因此下文將針對基礎的建構步驟協助您籌備項目。

步驟一:確定您的設計

首先,你需要確定您的NFT設計。請注意,這邊不單單只你的NFT圖像,而是涵蓋這個項目的所有計畫(白皮書、路線圖等等),因為這會直接影響未來dNFT的變化形式以及智能合約的撰寫。舉例來說,你的dNFT可以是藝術品遊戲道具音樂作品或是實體資產綁定等等。你需要考慮元素的可變化性和互動性,以及它們如何為持有者提供更多的價值和體驗。

MLB 於去年發行的 dNFTs,球員數據會隨著場次變動

MLB 於去年發行的 dNFTs,球員數據會隨著場次變動

步驟二:選擇你的公鏈

接下來,您需要選擇你欲發佈的公鏈。像是以太坊、幣安鏈、Polygon等等,這些平台都支援動態NFT的創建和發行。但請注意,你選擇的鏈會直接影響撰寫智能合約時所使用的程式語言

步驟三:編寫智能合約

編寫智能合約是創建動態NFT的關鍵步驟。你需要使用Solidity或其他支持NFT創建的程式語言(e.g. Rust 、 Vyper 和 Move)來創建智能合約,這個合約會結合metadata來定義NFT的屬性、圖像。在創建動態NFT時,你需要確定動態元素的變化方式和變化頻率,以及它們發布後如何與智能合約互動。

讓我們看看其中一種簡單的 dNFT 代碼:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol";

contract DynamicNFT is ERC721URIStorage {
using Counters for Counters.Counter;

Counters.Counter private _tokenIds;

constructor() ERC721("DynamicNFT", "DNFT") {}

struct NftMetadata {
string name;
string description;
string image;
uint256 price;
uint256[] dynamicAttributes;
}

mapping(uint256 => NftMetadata) private _nftMetadata;

function createNft(
address recipient,
string memory tokenURI,
string memory name,
string memory description,
string memory image,
uint256 price,
uint256[] memory dynamicAttributes
) public {
_tokenIds.increment();

uint256 newItemId = _tokenIds.current();

_mint(recipient, newItemId);
_setTokenURI(newItemId, tokenURI);

_nftMetadata[newItemId] = NftMetadata(
name,
description,
image,
price,
dynamicAttributes
);

emit NftCreated(
newItemId,
recipient,
tokenURI,
name,
description,
image,
price,
dynamicAttributes
);
}

function getNftMetadata(uint256 tokenId)
public
view
returns (NftMetadata memory)
{
require(
_exists(tokenId),
"DynamicNFT: metadata query for nonexistent token"
);

return _nftMetadata[tokenId];
}

function updateDynamicAttribute(
uint256 tokenId,
uint256 attributeIndex,
uint256 newValue
) public {
require(
_exists(tokenId),
"DynamicNFT: attribute update for nonexistent token"
);

NftMetadata storage metadata = _nftMetadata[tokenId];

require(
attributeIndex < metadata.dynamicAttributes.length,
"DynamicNFT: invalid attribute index"
);

uint256 oldValue = metadata.dynamicAttributes[attributeIndex];

metadata.dynamicAttributes[attributeIndex] = newValue;

emit NftAttributeUpdated(tokenId, attributeIndex, oldValue, newValue);
}

event NftCreated(
uint256 newItemId,
address recipient,
string tokenURI,
string name,
string description,
string image,
uint256 price,
uint256[] dynamicAttributes
);

event NftAttributeUpdated(
uint256 tokenId,
uint256 attributeIndex,
uint256 oldValue,
uint256 newValue
);
}

//This code is for educational purposes only, please do not invest in any assets.

步驟四:編寫前端界面

一旦你的智能合約編寫完成,你需要編寫前端界面(一個能連結錢包的Dapp),讓使用者可以與NFT互動。你可以使用Web3.js等框架來編寫前端界面,這些框架可以與以太坊等區塊鏈進行互動,實現NFT的銷售、轉移和觸發變動條件等功能。

步驟五:測試和發行

最後,你需要針對動態NFT進行測試,確保其功能正常,並在區塊鏈上發行它。你可以選擇在自己的平台上進行一級發售(步驟四所建立的平台),或是直接將NFT上傳到現有的二級市場,如OpenSea、Rarible等,進行出售或拍賣。

結論

dNFT是一個相對較新的NFT類型,它可以提供更豐富的體驗和更多的應用場景。要創建dNFT,您需要編寫專門的智能合約來定義動態屬性並更新它們。此外,我們相信dNFT將在未來變得越來越受歡迎,並為藝術家、遊戲開發人員和收藏家等創造更多的機會。

如果你在尋找專業的dNFT開發人員,歡迎聯繫我們的區塊鏈專家

AVS Consulting官網:https://avsconsulting.pro/

AVS Consulting官網:https://avsconsulting.pro/

留言0
查看全部
發表第一個留言支持創作者!
AVS Consulting的沙龍 的其他內容
根據數據顯示,2022 年有超過 38 億美元的虛擬資產被盜。(Chainalysis,2023) 隨著區塊鏈技術的普及和發展,智能合約已經成為區塊鏈生態中重要的應用場景角色。 它的自動化特性使得它非常適合用於金融、供應鏈管理、物聯網和許多行業領域。 但是,正也是因為這個特性,其背後隱藏著巨大的潛
3D產品配置器(3D configurator)是一種即時互動型3D模型,可以讓客戶根據自己的需求定製產品,比如形狀、材質、顏色、內部結構等。根據調查,線上購物者中有 82% 會在產品頁面使用3D配置器。且與影片相比,多達 95% 的人更喜歡用這項技術了解商品。
根據數據顯示,2022 年有超過 38 億美元的虛擬資產被盜。(Chainalysis,2023) 隨著區塊鏈技術的普及和發展,智能合約已經成為區塊鏈生態中重要的應用場景角色。 它的自動化特性使得它非常適合用於金融、供應鏈管理、物聯網和許多行業領域。 但是,正也是因為這個特性,其背後隱藏著巨大的潛
3D產品配置器(3D configurator)是一種即時互動型3D模型,可以讓客戶根據自己的需求定製產品,比如形狀、材質、顏色、內部結構等。根據調查,線上購物者中有 82% 會在產品頁面使用3D配置器。且與影片相比,多達 95% 的人更喜歡用這項技術了解商品。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
還在死記硬背?AI時代,你需要學習效率的"核武器"!學習新知識就像升級打怪,效率低就像拿著小木劍打BOSS,費力不討好。 今天就來介紹一種學習效率的"核武器"——費曼學習法,它不僅能讓你輕鬆掌握各種疑難雜症,更能和AI強強聯手,讓學習效率翻倍! 費曼學習法:諾獎大佬都在用的學習秘訣費曼學習法,簡
Thumbnail
距離上次寫LULUTIMES不知不覺就過去兩個月! 我的生活經歷了滿大的變動(主要是因為換工作),現在整個人都還在適應中。 我在脆弱的時候就會特別想家。會很想跟熟悉的人待在一起,就算什麼都不說也沒關係。 我最近特別戀家,可能因為我內心很不安吧,面對新工作、新環境、新的人,每天都覺得很緊張。對於
Thumbnail
你知道嗎?臉部保養並不是你有什麼皮膚問題就塗什麼,錯誤的順序不僅會導致肌膚問題無法解決外,還有可能造成負擔,本文將帶你了解正確的保養優先順序。 一、保養優先順序是什麼? 近幾年來大家開始對於外貌有著更高的追求,「肌膚保養」也因此成為不可或缺的一步,但其實大多數人的保養方式都錯了!才會導致怎
Thumbnail
5 Minutes a Day to Heal Yourself and Affirm Yourself | Heartfelt Poetry for Wealth 每天5分鐘療癒自己肯定自己 影片發布時間2023/11/11 AM12:00 不漏看AI心靈短片請追蹤
Thumbnail
前言 從去年開始,NFT這個詞如火如荼地邁向全世界,相關的科技應用也令它成為了一個企業間炙手可熱的話題。不同於傳統的NFT,動態NFT作為近期更受關注的一個分支,它包含的互動性和可變化元素,為它帶來了更多的創新和價值應用。 什麼是動態NFT 首先,動態NFT的最大優勢就如其名 — 高度的變化性和
Thumbnail
網站架設可以怎麼做呢?如果你想低成本高效益架站,並且可以隨時自定義自己的網站,那麼我們強烈建議你選擇WordPress 這個多功能網站架設+網頁設計平台。我們將為你解析 WordPress 網頁設計的每一步,讓你無需專業的程式設計知識,在5分鐘內學會 WordPress 架站!
Thumbnail
「利息」時常充斥於我們的生活當中,但你真正了解什麼是利息嗎? 比如你到銀行存錢會有利息收入,但若向銀行個人借貸則會有利息支出 除此之外,使用信用卡預借現金未還款與欠卡債,也會產生循環利息支出 簡單來說,借錢會希望利率越低越好,而投資人想要利息越高進而獲利更多 因此,利率是評估是否要投資、借貸的指標,
Thumbnail
行動支付,廣義的概念為藉由網路並以任何移動存取設備啟動的支付行為,像是利用手機、平板、語音、訊息等方式付款,皆能被歸類在廣義的行動支付下。因此大家常說的電子支付、第三方支付大多隸屬於廣義的行動支付底下。
Thumbnail
維生素D(維他命D)可以透過曬太陽活化,滿足人體需求,因此很多人又會將維生素D稱為陽光維生素,但究竟維生素D有什麼功效?為什麼我們需要維生素D?接下來就跟著本文的腳步,深入認識維生素D吧!
Thumbnail
目前包含Sui、ZK系公鏈(zkSync、Linea…)均為空投系玩家的熱點,雖然是非做不可的項目,但也因為太過熱門,目前常常會發生卡交易、卡跨鏈、沒測試幣的窘境,可以稍等熱度下降一些再來回頭做,這次先介紹一個ZK系的基礎設施 Polyhedra ,項目不但暗示空投的機率頗高,也是備受資本矚目的項目
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
還在死記硬背?AI時代,你需要學習效率的"核武器"!學習新知識就像升級打怪,效率低就像拿著小木劍打BOSS,費力不討好。 今天就來介紹一種學習效率的"核武器"——費曼學習法,它不僅能讓你輕鬆掌握各種疑難雜症,更能和AI強強聯手,讓學習效率翻倍! 費曼學習法:諾獎大佬都在用的學習秘訣費曼學習法,簡
Thumbnail
距離上次寫LULUTIMES不知不覺就過去兩個月! 我的生活經歷了滿大的變動(主要是因為換工作),現在整個人都還在適應中。 我在脆弱的時候就會特別想家。會很想跟熟悉的人待在一起,就算什麼都不說也沒關係。 我最近特別戀家,可能因為我內心很不安吧,面對新工作、新環境、新的人,每天都覺得很緊張。對於
Thumbnail
你知道嗎?臉部保養並不是你有什麼皮膚問題就塗什麼,錯誤的順序不僅會導致肌膚問題無法解決外,還有可能造成負擔,本文將帶你了解正確的保養優先順序。 一、保養優先順序是什麼? 近幾年來大家開始對於外貌有著更高的追求,「肌膚保養」也因此成為不可或缺的一步,但其實大多數人的保養方式都錯了!才會導致怎
Thumbnail
5 Minutes a Day to Heal Yourself and Affirm Yourself | Heartfelt Poetry for Wealth 每天5分鐘療癒自己肯定自己 影片發布時間2023/11/11 AM12:00 不漏看AI心靈短片請追蹤
Thumbnail
前言 從去年開始,NFT這個詞如火如荼地邁向全世界,相關的科技應用也令它成為了一個企業間炙手可熱的話題。不同於傳統的NFT,動態NFT作為近期更受關注的一個分支,它包含的互動性和可變化元素,為它帶來了更多的創新和價值應用。 什麼是動態NFT 首先,動態NFT的最大優勢就如其名 — 高度的變化性和
Thumbnail
網站架設可以怎麼做呢?如果你想低成本高效益架站,並且可以隨時自定義自己的網站,那麼我們強烈建議你選擇WordPress 這個多功能網站架設+網頁設計平台。我們將為你解析 WordPress 網頁設計的每一步,讓你無需專業的程式設計知識,在5分鐘內學會 WordPress 架站!
Thumbnail
「利息」時常充斥於我們的生活當中,但你真正了解什麼是利息嗎? 比如你到銀行存錢會有利息收入,但若向銀行個人借貸則會有利息支出 除此之外,使用信用卡預借現金未還款與欠卡債,也會產生循環利息支出 簡單來說,借錢會希望利率越低越好,而投資人想要利息越高進而獲利更多 因此,利率是評估是否要投資、借貸的指標,
Thumbnail
行動支付,廣義的概念為藉由網路並以任何移動存取設備啟動的支付行為,像是利用手機、平板、語音、訊息等方式付款,皆能被歸類在廣義的行動支付下。因此大家常說的電子支付、第三方支付大多隸屬於廣義的行動支付底下。
Thumbnail
維生素D(維他命D)可以透過曬太陽活化,滿足人體需求,因此很多人又會將維生素D稱為陽光維生素,但究竟維生素D有什麼功效?為什麼我們需要維生素D?接下來就跟著本文的腳步,深入認識維生素D吧!
Thumbnail
目前包含Sui、ZK系公鏈(zkSync、Linea…)均為空投系玩家的熱點,雖然是非做不可的項目,但也因為太過熱門,目前常常會發生卡交易、卡跨鏈、沒測試幣的窘境,可以稍等熱度下降一些再來回頭做,這次先介紹一個ZK系的基礎設施 Polyhedra ,項目不但暗示空投的機率頗高,也是備受資本矚目的項目