以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > SOL > Info

NFT:教程 | 動態NFT的構建、部署和出售

Author:

Time:1900/1/1 0:00:00

NFT是只有在區塊鏈領域里才存在的工具,有著廣泛的應用和機遇。ERC721代幣標準可以構建收藏品、獨立代幣、票據、游戲等多種應用,對于那些想要參與構建的開發者來說,一個動態和隨機的NFT是一個很好的開始。但我們現在可以用它做什么?展示你新鑄造的隨機化或動態角色,是不是很贊?

我們也是這樣認為的。在本教程中,我們將引導您完成所有步驟,將您自己的動態或隨機化NFT部署到OpenSea市場。下面是一個例子,是我們希望達到的效果。

讓我們來學習如何制作類似上面的東西吧!

NFT快速復習

ERC721定義了一個框架,用于制作代幣的框架,這些代幣是獨一無二的,并且彼此之間是不同的,而流行的ERC20標準則定義了"同質化"的代幣,這意味著代幣都是可互換的,并且每個代幣具有相同的價值。我們將更深入地探討如何構建這些,以及社區如何跨平臺代表它們。你也可以在OpenSeaNFT圣經中閱讀更多內容。

如果你還沒有查看上一篇關于在NFT中獲取隨機數的文章,請務必去回顧一下!開發者頁面中有著各種智能合約和區塊鏈工程教學的教程、指南和攻略。

什么是元數據?

在上一篇博客中,我們學習了如何構建隨機NFT。現在,我們將使用ERC721標準的另一個重要部分:*元數據*,將其提升到一個新的水平。

所有的NFT都有所謂的元數據。你可以在原始的(ERC/EIP721提案)中讀到這一點。社區發現,在Ethereum上存儲圖像真的很費力,而且成本很高。如果你想存儲一張8×8的圖片,存儲這么多數據是的費用還可以接受,但如果你想要一張分辨率不錯的圖片,就需要花費巨額的費用。

Azuki #6954以170.85ETH的價格成交:金色財經報道,數據顯示,Azuki #6954以170.85ETH的價格成交。[2023/4/19 14:13:22]

1KB圖像

花費20美元,將這樣一個圖形添加到區塊鏈中,并沒有讓NFT的創造者們真正興奮起來。

我們意識到Ethereum2.0將解決很多這些令人頭疼的擴展問題,但目前社區需要一個標準來幫助解決這個問題。元數據就是這個問題的答案。

元數據為鏈外存儲的tokenId提供描述性信息。這些都是簡單的API,鏈外UI調用這些API來收集有關token的所有信息。每個tokenId都有一個特定的tokenURI,定義了這個API調用,它返回一個JSON對象,看起來像這樣:

{

"name":"YouNFTtokenname",

"description":"SomethingCoolhere",

"image":"https://ipfs.io/ipfs/QmTgqnhFBMkfT9s8PHKcdXBn1f5bG3Q5hmBaR4U6hoTvb1?filename=Chainlink_Elf.png",

"attributes":

}

元數據有四個不同的key:

-`name`,定義了tokenIds的可讀名稱

-`description`,其中提供了一些關于token的背景信息

-`image`是圖像的另一個URI

-`attributes`是token的統計數據

如果您的NFT與其他NFT進行交互,確保tokenURI上的屬性(attributes)與您的NFT智能合約的屬性(attributes)相匹配,這一點非常重要,否則當戰斗或互動沒有達到預期時,您可能會感到困惑!

去中心化汽車數據洞察網絡DIMO啟動主網:金色財經報道,去中心化汽車數據洞察網絡DIMO Network今天啟動了其主網,旨在讓用戶更好地掌控自己的車輛數據。該公司希望通過使用自己的數據指標來為用戶節省汽車購買和服務方面的費用。(The Block)[2022/12/13 21:40:38]

為`tokenURI`分配出tokenIds之后,NFT市場就能夠顯示你的token,讓你展示你的創造力。你可以在Rinkebytestnet的OpenSea市場上看到我們使用更新后的《龍與地下城》隨機NFT代碼倉庫創建的一個NFT。這種市場有很多,比如Mintable、Rarible。

鏈上和鏈下元數據

你可以一直將所有的元數據存儲在鏈上,但很多NFT市場不知道如何讀取鏈上元數據_現在。_所以目前來說,使用鏈下元數據來可視化你的代幣,同時擁有所有的鏈上元數據是最理想的,這樣你的代幣就可以互相交互。

名稱、描述和屬性很容易在鏈上存儲,但圖像才是難點。另外,我們在哪里存儲tokenURI的API?很多人選擇運行服務器來托管信息,這很好,但這是一個中心化的用于可視化token的地方。如果我們能把圖片存儲在鏈上,這樣就不會宕機或被黑客攻擊,是一個更好的選擇。在上面的例子中,他們的圖片使用的是指向IPFS的URL,這是一種常用地存儲圖片的方式。

IPFS是InterPlanetaryFileSystem的縮寫,是一種點對點的超媒體協議,旨在使網絡更快、更安全、更開放。它允許任何人上傳一個文件,并且該文件是經過哈希校驗的,所以如果文件發生改變,它的哈希值也會改變。這對于存儲圖片來說是非常理想的,因為這意味著每次圖片更新時,鏈上的哈希/tokenURI也要改變,同時這意味著我們可以擁有元數據的歷史記錄。將圖像添加到IPFS上也非常簡單,而且不需要運行服務器。

現在我們知道了要做什么,下面讓我們來構建和部署吧!你部署了你的NFT代幣和市場之后,一個代幣將看起來像這樣:

FTX攻擊地址成為ETH的第30大持幣地址:金色財經報道,據派盾監測,FTX攻擊地址(以“0x59ab”開頭)目前持有價值約2.87億美元的ETH,成為ETH的第30大持幣地址。[2022/11/18 13:21:09]

OpenSea上的Chainlink騎士

`levels`部分是代幣的隨機統計數據的地方!

給您一個額外的驚喜

現在,讀到這里的朋友們,我們為你們準備了一個額外的驚喜。我們將在一秒鐘內介紹如何部署這些NFT,但在這之前,我們在這個游戲中創建的這四個代幣,將在第一個NFT尋寶活動中進行爭奪!

這里是他們主網市場的鏈接。祝大家好運。

如何部署你的動態NFT市場

再次強調一下,我們使用最新版本的Dungeons&Dragons代碼倉庫,在readme中也有說明。

下面我們要做:

1.使用ChainlinkVRF構建一個可驗證的隨機D&D角色

2.使用IPFS添加一個tokenURI

3.將隨機NFT添加到OpenSea市場中

請記住,你可以改變倉庫,使其適用于動態NFTs。你可以很容易地把VRF換成ChainlinkPriceFeeds或ChainlinkAPI。

這個倉庫目前只適用于Rinkeby,所以請務必切換到到Rinkeby網絡!我們會從頭開始講解,如果你沒有讀過上一篇文章也不用擔心。

你需要在你的錢包里有RinkebyTestnetETH和RinkebyTestnetLINK才能繼續。

配置環境變量

配置`MNEMONIC`和一個rinkeby`RINKEBY_RPC_URL`環境變量。你的`MNEMONIC`是你的錢包的種子短語。你可以從節點提供者服務中找到一個`RINKEBY_RPC_URL`,比如Infura。

BlockFi宣布暫停提款服務:11月11日消息,加密借貸公司BlockFi宣布將暫停提款服務,要求客戶現在不要在BlockFi Wallet和Interest Accounts存款。

此前報道,加密借貸公司BlockFi創始人Flori Marquez發推表示,BlockFi的所有產品都在完全正常運行,包括存款、取款、交易和借貸。BlockFi從FTX獲得了4億美元的信貸額度,目前是獨立于FTX的商業實體,且至少在2023年7月之前都將保持獨立實體的狀態。[2022/11/11 12:49:56]

然后,將它們設置在`bash_profile`文件中,或者像這樣將它們導出到你的終端:

exportMNEMONIC='catdogfrog....'

exportRINKEBY_RPC_URL='www.infura.io/asdfadsfafdadf'

接下來你需要這樣做:

克隆倉庫并部署

gitclonehttps://github.com/PatrickAlphaC/dungeons-and-dragons-nft

cddungeons-and-dragons-nft

gitcheckoutopensea-update

npminstall

trufflemigrate--reset--networkrinkeby

上面的命令部署你的D&DNFT!

創建角色

可以通過以下命令來嘗試:

truffleexecscripts/fund-contract.js--networkrinkeby

truffleexecscripts/generate-character.js--networkrinkeby

truffleexecscripts/get-character.js--networkrinkeby

Jack Dorsey:比特幣是互聯網上唯一的貨幣:金色財經報道,在Block投資者日(Block’s Investor Day)上,Block首席執行官杰克?多爾西(Jack Dorsey)透露了他將這家支付公司擴張為跨多個領域的數字巨頭的雄心,并重申了其對區塊鏈技術和比特幣未來的堅定信心。他認為比特幣是互聯網貨幣的唯一候選者。Block的首席執行官強調,加密和音樂流媒體業務應該被視為一個“生態系統”。他還指出,該公司在比特幣領域的努力將繼續成為該公司的主要戰略,其與銀行類似的現金應用程序將支持點對點支付和比特幣交易。(cryptopotato)[2022/5/19 3:27:52]

上面的命令可以通過隨機數據創建一個新的角色!

根據你部署的頻率,你可以通過改變`get-character.js`中的`dnd.getCharacterOverView(1)`命令來選擇哪個角色,將`0`換成你喜歡的任何角色的tokenId。

以上命令提供了NFT的概覽。因為調用返回的是大數字,所以會看到`BN`,你可以把它們轉為整型來查看它們是什么。或者你可以更進一步...

在Etherscan查看

你可以免費獲得一個EtherscanAPI密鑰,并與鏈上的NFT進行交互。然后將`ETHERSCAN_API_KEY`設置為環境變量。

npminstalltruffle-plugin-verify

trufflerunverifyDungeonsAndDragonsCharacter--networkrinkeby--licenseMIT

這樣就可以驗證并發布你的合約,可以去它給你的Etherscan的`ReadContract`部分查看。

或者可以使用oneclickdapp,只需添加合約地址和ABI。可以在`build/contracts`文件夾中找到ABI。注意,ABI不是整個文件,只是寫著`ABI`的部分。

部署到OpenSea

創建好NFT后,我們需要給它們一個`tokenURI`。TokenURI是向世界展示NFTs數據的標準。可以讓我們更容易存儲圖片等內容,不必浪費氣力在鏈上存儲它們。

`TokenURI`代表一個URL或其他唯一的標識符,它是一個帶有一些參數的`.json`文件。

{

"name":"Nameforit",

"description":"Anythingyouwant",

"image":"https://ipfs.io/ipfs/HASH_HERE?file.png",

"attributes":

}

下載IPFS和IPFS伴侶

現在,我們將把這些圖像和元數據存儲在IPFS中。你需要

1.IPFS

2.IPFScompanion

3.Pinata

IPFS伴侶讓我們可以在Brave或Chrome等瀏覽器中原生查看IPFS數據。而Pinata可以讓我們在節點宕機時也能保持IPFS文件的正常運行

如果你在瀏覽器中點擊這個鏈接,你就會知道IPFS伴侶在工作:

https://ipfs.io/ipfs/QmTgqnhFBMkfT9s8PHKcdXBn1f5bG3Q5hmBaR4U6hoTvb1?filename=Chainlink_Elf.png。

就會出現下面的圖像:

Chainlink精靈

添加圖像到IPFS

IPFS節點建立起來之后,就可以開始向它添加文件了。首先要上傳我們NFT的圖像。前往IPFS安裝的"files"部分。

?IPFS文件

這個D&D角色是什么樣子的?將它添加到你的IPFS節點,然后"Pin"它。現在,你可以隨意pin一個空白的圖片,或者隨便任何東西。

添加元數據文件到IPFS

然后需要將元數據JSON對象添加到IPFS中。需要從部署的代幣中獲取名稱和屬性。我們在`create-metadata.js`腳本中為做了一些工作。只需運行

truffleexecscripts/create-metadata.js--networkrinkeby

元數據會顯示在`metadata`文件夾中。它現在只需要圖片的URL!元數據是我們使用ChainlinkVRF創建的隨機數和統計數據。現在我們得到我們創建的圖片的CID,并將其添加到元數據JSON文件中,然后將該文件也添加到IPFS中,并將其pin住!它看起來會像這樣:

Chainlink精靈JSON

Pinata

如果IPFS節點宕機了,或者關閉了計算機,我們將無法拉取元數據,所以我們需要一種方法來保持它們pin的狀態,并讓其他節點托管數據。這就是Pinata的作用。別擔心,它是免費的!作用是在我們的IPFS節點停機時幫我們維護數據。復制圖像和JSON元數據文件的CID,并將其添加到Pinata賬戶中。這需要幾秒鐘的時間來注冊。

復制CID

這個元數據json文件就是`tokenURI`,所以我們用給圖片NFT的tokenId來修改`set-token-uri.js`,并添加ipfstokenURI。

然后我們用

truffleexecscripts/set-token-uri.js--networkrinkeby

現在就可以得到NFT的地址,然后到OpenSeatestnet市場去看看我們做的是否正確。如果做得正確,它將看起來像這樣。我們要先在OpenSea注冊一個賬戶。

這里是添加你的testnetNFT合約在opensea上查看的鏈接。然后,就可以開始銷售你的NFT了。

下一步

我們應該都準備好了!上面涵蓋了很多信息,所以如果你有任何問題,一定要聯系我們的Discord。智能合約和Chainlink工程師擁有龐大的社區,很多優秀的人正聚集在一起,將NFT和智能合約推向聚光燈下,所以Discord也是一個認識其他朋友的好地方。你還想看看ChainlinkBuilders計劃,在那里你可以通過使用Chainlink構建贏得一些很酷的獎品!

和往常一樣,一定要訪問開發文檔,你也可以訂閱ChainlinkNewsletter來了解Chainlink的最新動態。

如果你在這里學到了新的東西,想展示你所開發的東西,或者為一些演示倉庫開發了前端,歡迎在Twitter、Discord或Reddit上分享,并在你的倉庫上加上#chainlink的標簽。

Tags:NFTINKTOKENKENNFTLPINKIE價格ReelTokenKraken

SOL
BTC:比特幣持倉周報 | 2020 收官周市場現莫名恐慌,大型機構收獲“獨贏”

撰文:7 1月5日,CFTC公布了最新一期的CME比特幣期貨周報,這也是2020年最后一期持倉周報.

1900/1/1 0:00:00
DCO:IDC發布2021年中國區塊鏈市場10大預測

IDC發布《IDCFutureScape:全球區塊鏈2021年預測-中國啟示》,本次預測覆蓋區塊鏈富有前景的熱門應用領域,包括投票、醫療、跨境貿易、溯源、金融等.

1900/1/1 0:00:00
瑞波幣:谷燕西:簡析SEC對Ripple的起訴,對市場有何影響?

SEC剛剛開始發起對Ripple的起訴。SEC認為瑞波幣是未登記的證券,但卻從2013年以來一直到今天在非法地銷售.

1900/1/1 0:00:00
區塊鏈:ETC前業務開發經理:ETC將在未來十年超過7000美元

1月3日,ETC前業務開發經理DonaldMcIntyre撰文指出,ETC將在未來十年超過7000美元,并提出了8條理由。1.很少有系統能贏得區塊鏈格式之戰.

1900/1/1 0:00:00
BASE:探索CID(內容標識符)的來龍去脈

當我們在分散的Web上與對等體交換數據時,我們依靠內容尋址來安全地定位和識別數據。本文中,了解重要的分散Web概念的基礎知識,如內容尋址、加密哈希、內容標識符和與對等方共享.

1900/1/1 0:00:00
DORA:Findora公布審核代碼庫結果并計劃于2021Q1發布開源代碼

據官方消息,Findora與一家美國上市的軟件行業安全審計公司合作,對方對Findora即將開源代碼庫進行分析檢測.

1900/1/1 0:00:00
ads