NFT是只有在區塊鏈領域里才存在的工具,有著廣泛的應用和機遇。ERC721代幣標準可以構建收藏品、獨立代幣、票據、游戲等多種應用,對于那些想要參與構建的開發者來說,一個動態和隨機的NFT是一個很好的開始。但我們現在可以用它做什么?展示你新鑄造的隨機化或動態角色,是不是很贊?
我們也是這樣認為的。在本教程中,我們將引導您完成所有步驟,將您自己的動態或隨機化NFT部署到OpenSea市場。下面是一個例子,是我們希望達到的效果。
讓我們來學習如何制作類似上面的東西吧!
NFT快速復習
ERC721定義了一個框架,用于制作代幣的框架,這些代幣是獨一無二的,并且彼此之間是不同的,而流行的ERC20標準則定義了"同質化"的代幣,這意味著代幣都是可互換的,并且每個代幣具有相同的價值。我們將更深入地探討如何構建這些,以及社區如何跨平臺代表它們。你也可以在OpenSeaNFT圣經中閱讀更多內容。
如果你還沒有查看上一篇關于在NFT中獲取隨機數的文章,請務必去回顧一下!開發者頁面中有著各種智能合約和區塊鏈工程教學的教程、指南和攻略。
什么是元數據?
在上一篇博客中,我們學習了如何構建隨機NFT。現在,我們將使用ERC721標準的另一個重要部分:*元數據*,將其提升到一個新的水平。
所有的NFT都有所謂的元數據。你可以在原始的(ERC/EIP721提案)中讀到這一點。社區發現,在Ethereum上存儲圖像真的很費力,而且成本很高。如果你想存儲一張8×8的圖片,存儲這么多數據是的費用還可以接受,但如果你想要一張分辨率不錯的圖片,就需要花費巨額的費用。
比特幣全網未確認交易數量為33928筆:金色財經報道,據BTC.com數據顯示,目前比特幣全網未確認交易數量為33928筆,全網算力為341.59 EH/s,24小時交易速率為4.04交易/s,目前全網難度為47.89 T,預測下次難度下降1.01%至47.41 T,距離調整還剩9天1小時。[2023/4/12 13:57:36]
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的統計數據
Injective Grant DAO在DoraHacks.io正式開啟:4月2日消息,長期資助創新Defi應用的Injective Grant DAO已在開源開發者激勵平臺DoraHacks.io上線。首輪資助項目提交已經開啟,總資助額達1,000,000 美金,3月30日-5月4日為首輪項目信息提交環節。
Injective Grant DAO基于去中心化交換協議Injective在金融應用的生態優勢,第一輪資助活動設有四個賽道,分別是DeFi、Tooling&Infra、Pyth Bounty Program、Notifi Bounty Program。Wormhole和Eclipse也將提供開發者bounty。[2023/4/2 13:40:31]
如果您的NFT與其他NFT進行交互,確保tokenURI上的屬性(attributes)與您的NFT智能合約的屬性(attributes)相匹配,這一點非常重要,否則當戰斗或互動沒有達到預期時,您可能會感到困惑!
為`tokenURI`分配出tokenIds之后,NFT市場就能夠顯示你的token,讓你展示你的創造力。你可以在Rinkebytestnet的OpenSea市場上看到我們使用更新后的《龍與地下城》隨機NFT代碼倉庫創建的一個NFT。這種市場有很多,比如Mintable、Rarible。
鏈上和鏈下元數據
你可以一直將所有的元數據存儲在鏈上,但很多NFT市場不知道如何讀取鏈上元數據_現在。_所以目前來說,使用鏈下元數據來可視化你的代幣,同時擁有所有的鏈上元數據是最理想的,這樣你的代幣就可以互相交互。
名稱、描述和屬性很容易在鏈上存儲,但圖像才是難點。另外,我們在哪里存儲tokenURI的API?很多人選擇運行服務器來托管信息,這很好,但這是一個中心化的用于可視化token的地方。如果我們能把圖片存儲在鏈上,這樣就不會宕機或被黑客攻擊,是一個更好的選擇。在上面的例子中,他們的圖片使用的是指向IPFS的URL,這是一種常用地存儲圖片的方式。
微軟游戲CEO:元宇宙是“制作粗劣的電子游戲”:10月27日消息,據外媒報道,微軟游戲首席執行官Phil Spencer在《華爾街日報》技術現場會議被問及其對元宇宙的定義時表示,元宇宙是“制作粗劣的電子游戲”。Spencer稱:“視頻游戲創作者有一種驚人的能力,可以打造出我們想要置身其中的驚艷的虛擬世界。對我來說,一個看起來像會議室的元宇宙... ... 我不太想在這種地方消磨時間。”
不過Spencer也表示:“我之所以調侃稱元宇宙是差勁的視頻游戲,只是我認為其現在還處于早期階段,隨著時間的推移,元宇宙最終會比我今天看到的一些元宇宙模型更像視頻游戲。”(The Verge)[2022/10/27 11:48:49]
IPFS是InterPlanetaryFileSystem的縮寫,是一種點對點的超媒體協議,旨在使網絡更快、更安全、更開放。它允許任何人上傳一個文件,并且該文件是經過哈希校驗的,所以如果文件發生改變,它的哈希值也會改變。這對于存儲圖片來說是非常理想的,因為這意味著每次圖片更新時,鏈上的哈希/tokenURI也要改變,同時這意味著我們可以擁有元數據的歷史記錄。將圖像添加到IPFS上也非常簡單,而且不需要運行服務器。
現在我們知道了要做什么,下面讓我們來構建和部署吧!你部署了你的NFT代幣和市場之后,一個代幣將看起來像這樣:
OpenSea上的Chainlink騎士
`levels`部分是代幣的隨機統計數據的地方!
給您一個額外的驚喜
現在,讀到這里的朋友們,我們為你們準備了一個額外的驚喜。我們將在一秒鐘內介紹如何部署這些NFT,但在這之前,我們在這個游戲中創建的這四個代幣,將在第一個NFT尋寶活動中進行爭奪!
這里是他們主網市場的鏈接。祝大家好運。
如何部署你的動態NFT市場
安全團隊:Mango攻擊者將約780萬美元代幣轉至Mango升級委員會錢包:10月14日消息,據派盾(PeckShield)監測,Mango攻擊者將價值約780萬美元的代幣轉至Mango升級委員會(Mango Upgrade Council)控制的錢包9mM6NfXau...26wY中。
此前消息,Mango官方發布攻擊事件詳細報告,并稱最好的解決方式是與攻擊者進行溝通。[2022/10/14 14:28:03]
再次強調一下,我們使用最新版本的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。
然后,將它們設置在`bash_profile`文件中,或者像這樣將它們導出到你的終端:
exportMNEMONIC='catdogfrog....'
exportRINKEBY_RPC_URL='www.infura.io/asdfadsfafdadf'
數據:88393枚ETH從未知錢包轉移到未知錢包:金色財經報道,WhaleAlert數據顯示,88,393枚ETH(約140,258,866美元)從未知錢包轉移到未知錢包。[2022/9/15 6:56:40]
接下來你需要這樣做:
克隆倉庫并部署
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
上面的命令可以通過隨機數據創建一個新的角色!
根據你部署的頻率,你可以通過改變`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的標簽。
加入PolkaWorld社區,共建Web3.0!2020年12月1日20:00,等待多時的以太坊2.0啟動了創世區塊,標志著階段0(信標鏈)正式上線.
1900/1/1 0:00:00前高盛對沖基金經理、《全球宏觀投資者》創始人兼首席執行官RaoulPal發推表示已押注比特幣和以太坊,并指出,「代幣就像是一種實時交易的風險投資,80%會歸零,19%會增值,只有1%會一直賺錢.
1900/1/1 0:00:00不久前,Filecoin官方帶我們回顧了2020的Filecoin,接下來,讓我們一同展望2021年的Filecoin,在所有人的共同努力下,Filecoin網絡一定會越來越好.
1900/1/1 0:00:0012月20日,2020網易未來大會“區塊鏈與人工智能”論壇在杭州舉行,升級后的“網易區塊鏈”(NeteaseChain)品牌全新亮相.
1900/1/1 0:00:00在之前的文章《區塊鏈發展的3個必經階段究竟是什么,創業者該如何把握先機?》里,我們已經闡述過區塊鏈發展要經過的3個階段:第一階段:區塊鏈創新解決方案;第二階段:區塊鏈完備解決方案;第三階段:區塊.
1900/1/1 0:00:00總部位于瑞典的游戲工作室AntlerInteractive為其區塊鏈游戲MyNeighborAlice募集了210萬美元資金.
1900/1/1 0:00:00