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會員
4Content count
留言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% 的人更喜歡用這項技術了解商品。
你可能也想看
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
網站架設可以怎麼做呢?如果你想低成本高效益架站,並且可以隨時自定義自己的網站,那麼我們強烈建議你選擇WordPress 這個多功能網站架設+網頁設計平台。我們將為你解析 WordPress 網頁設計的每一步,讓你無需專業的程式設計知識,在5分鐘內學會 WordPress 架站!
Thumbnail
「利息」時常充斥於我們的生活當中,但你真正了解什麼是利息嗎? 比如你到銀行存錢會有利息收入,但若向銀行個人借貸則會有利息支出 除此之外,使用信用卡預借現金未還款與欠卡債,也會產生循環利息支出 簡單來說,借錢會希望利率越低越好,而投資人想要利息越高進而獲利更多 因此,利率是評估是否要投資、借貸的指標,
Thumbnail
行動支付,廣義的概念為藉由網路並以任何移動存取設備啟動的支付行為,像是利用手機、平板、語音、訊息等方式付款,皆能被歸類在廣義的行動支付下。因此大家常說的電子支付、第三方支付大多隸屬於廣義的行動支付底下。
Thumbnail
維生素D(維他命D)可以透過曬太陽活化,滿足人體需求,因此很多人又會將維生素D稱為陽光維生素,但究竟維生素D有什麼功效?為什麼我們需要維生素D?接下來就跟著本文的腳步,深入認識維生素D吧!
Thumbnail
目前包含Sui、ZK系公鏈(zkSync、Linea…)均為空投系玩家的熱點,雖然是非做不可的項目,但也因為太過熱門,目前常常會發生卡交易、卡跨鏈、沒測試幣的窘境,可以稍等熱度下降一些再來回頭做,這次先介紹一個ZK系的基礎設施 Polyhedra ,項目不但暗示空投的機率頗高,也是備受資本矚目的項目
Thumbnail
在開始玩攝影一段時間之後,身邊朋友都知道我似乎有一些經驗,所以如果有對攝影有興趣的朋友,常會來問我怎麼入坑攝影這一塊。 甚至,就算想用看看專業的器材,也可以直接租一套來試看看,可以租幾天,大出門拍拍,感覺一下是不是你想像中的樣子,這樣很可以避免砸大錢之後,熱情很快冷卻,器材放在櫃子上生灰塵的窘境。
Thumbnail
Solana介紹 以太坊殺手 Solana介紹 作為以太坊區塊鏈體系的競爭者,「 以太坊殺手 」Solana(SOL), 是一個開源項目,它實現了一個新的、高性能的、無需許可的區塊鏈。 
Thumbnail
投資理財方式有很多,許多人會選擇股票、基金來追求高投資報酬率,然而運用這些投資工具也要有足夠的資金,也就是存款。銀行定存報酬率雖然相對較低,但配息固定,也不會造成本金的損失,適合作為投資理財的第一步。今天Zoe將帶您了解什麼是定存,利率、利息計算方式,還有如何定存最划算!
Thumbnail
接觸網路行銷的人,相信對SEO(搜尋引擎優化)這名詞不陌生,那SEM(搜尋引擎行銷)又是什麼呢?和SEO的差別在哪裡?在網路行銷中有什麼不同的用處?我們將為你解答!
Thumbnail
網紅行銷(Influencer Marketing)是一種新興的網路行銷手法,在近年來非常夯。雖然許多品牌都已經在使用,網路上也有許多文章介紹網紅行銷的重要性,但是仍有許多人對網紅行銷仍不太熟悉。到底什麼是網紅行銷呢?2020年你一定要知道的網紅行銷趨勢又有哪些呢?
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
網站架設可以怎麼做呢?如果你想低成本高效益架站,並且可以隨時自定義自己的網站,那麼我們強烈建議你選擇WordPress 這個多功能網站架設+網頁設計平台。我們將為你解析 WordPress 網頁設計的每一步,讓你無需專業的程式設計知識,在5分鐘內學會 WordPress 架站!
Thumbnail
「利息」時常充斥於我們的生活當中,但你真正了解什麼是利息嗎? 比如你到銀行存錢會有利息收入,但若向銀行個人借貸則會有利息支出 除此之外,使用信用卡預借現金未還款與欠卡債,也會產生循環利息支出 簡單來說,借錢會希望利率越低越好,而投資人想要利息越高進而獲利更多 因此,利率是評估是否要投資、借貸的指標,
Thumbnail
行動支付,廣義的概念為藉由網路並以任何移動存取設備啟動的支付行為,像是利用手機、平板、語音、訊息等方式付款,皆能被歸類在廣義的行動支付下。因此大家常說的電子支付、第三方支付大多隸屬於廣義的行動支付底下。
Thumbnail
維生素D(維他命D)可以透過曬太陽活化,滿足人體需求,因此很多人又會將維生素D稱為陽光維生素,但究竟維生素D有什麼功效?為什麼我們需要維生素D?接下來就跟著本文的腳步,深入認識維生素D吧!
Thumbnail
目前包含Sui、ZK系公鏈(zkSync、Linea…)均為空投系玩家的熱點,雖然是非做不可的項目,但也因為太過熱門,目前常常會發生卡交易、卡跨鏈、沒測試幣的窘境,可以稍等熱度下降一些再來回頭做,這次先介紹一個ZK系的基礎設施 Polyhedra ,項目不但暗示空投的機率頗高,也是備受資本矚目的項目
Thumbnail
在開始玩攝影一段時間之後,身邊朋友都知道我似乎有一些經驗,所以如果有對攝影有興趣的朋友,常會來問我怎麼入坑攝影這一塊。 甚至,就算想用看看專業的器材,也可以直接租一套來試看看,可以租幾天,大出門拍拍,感覺一下是不是你想像中的樣子,這樣很可以避免砸大錢之後,熱情很快冷卻,器材放在櫃子上生灰塵的窘境。
Thumbnail
Solana介紹 以太坊殺手 Solana介紹 作為以太坊區塊鏈體系的競爭者,「 以太坊殺手 」Solana(SOL), 是一個開源項目,它實現了一個新的、高性能的、無需許可的區塊鏈。 
Thumbnail
投資理財方式有很多,許多人會選擇股票、基金來追求高投資報酬率,然而運用這些投資工具也要有足夠的資金,也就是存款。銀行定存報酬率雖然相對較低,但配息固定,也不會造成本金的損失,適合作為投資理財的第一步。今天Zoe將帶您了解什麼是定存,利率、利息計算方式,還有如何定存最划算!
Thumbnail
接觸網路行銷的人,相信對SEO(搜尋引擎優化)這名詞不陌生,那SEM(搜尋引擎行銷)又是什麼呢?和SEO的差別在哪裡?在網路行銷中有什麼不同的用處?我們將為你解答!
Thumbnail
網紅行銷(Influencer Marketing)是一種新興的網路行銷手法,在近年來非常夯。雖然許多品牌都已經在使用,網路上也有許多文章介紹網紅行銷的重要性,但是仍有許多人對網紅行銷仍不太熟悉。到底什麼是網紅行銷呢?2020年你一定要知道的網紅行銷趨勢又有哪些呢?