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

更新於 2024/10/10閱讀時間約 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
查看全部
avatar-img
發表第一個留言支持創作者!
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
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
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
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
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 ,項目不但暗示空投的機率頗高,也是備受資本矚目的項目