NFT是只有在區塊鏈領域里才存在的工具,有著廣泛的應用和機遇。ERC721代幣標準可以構建收藏品、獨立代幣、票據、游戲等多種應用,對于那些想要參與構建的開發者來說,一個動態和隨機的NFT是一個很好的開始。但我們現在可以用它做什么?展示你新鑄造的隨機化或動態角色,是不是很贊?
我們也是這樣認為的。在本教程中,我們將引導您完成所有步驟,將您自己的動態或隨機化NFT部署到OpenSea市場。下面是一個例子,是我們希望達到的效果。
讓我們來學習如何制作類似上面的東西吧!
NFT快速復習
ERC721定義了一個框架,用于制作代幣的框架,這些代幣是獨一無二的,并且彼此之間是不同的,而流行的ERC20標準則定義了"同質化"的代幣,這意味著代幣都是可互換的,并且每個代幣具有相同的價值。我們將更深入地探討如何構建這些,以及社區如何跨平臺代表它們。你也可以在OpenSeaNFT圣經中閱讀更多內容。
如果你還沒有查看上一篇關于在NFT中獲取隨機數的文章,請務必去回顧一下!開發者頁面中有著各種智能合約和區塊鏈工程教學的教程、指南和攻略。
什么是元數據?
在上一篇博客中,我們學習了如何構建隨機NFT。現在,我們將使用ERC721標準的另一個重要部分:*元數據*,將其提升到一個新的水平。
所有的NFT都有所謂的元數據。你可以在原始的(ERC/EIP721提案)中讀到這一點。社區發現,在Ethereum上存儲圖像真的很費力,而且成本很高。如果你想存儲一張8×8的圖片,存儲這么多數據是的費用還可以接受,但如果你想要一張分辨率不錯的圖片,就需要花費巨額的費用。
加密貨幣證券化平臺GenTwo鏈接所有Coinbase資產:金色財經報道,瑞士加密資產證券化平臺 GenTwo Digital宣布與 Coinbase 建立合作伙伴關系。GenTwo Digital 的這一新合作伙伴關系允許將所有 Coinbase 加密資產包裝在銀行可融資的金融投資產品中,并使金融中介機構能夠發行 AMC(主動管理證書)等證書。任何金融中介機構都可以與 GenTwo Digital 合作創建貼有白標的投資產品,并通過 Coinbase 的平臺執行這些產品。[2023/1/23 11:26:39]
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的可讀名稱
Circle收購支付服務公司Elements:金色財經報道,Circle 收購了支付服務公司 Elements。該公司進行收購是為了創造更無縫的支付體驗, 交易條款未披露。
Circle于周三在舊金山推出了跨鏈傳輸協議以支持 USDC 互操作性。該公司本周還宣布與 Robinhood 建立戰略合作伙伴關系,其中包括與 USDC 的整合。(the block)[2022/9/30 6:03:00]
-`description`,其中提供了一些關于token的背景信息
-`image`是圖像的另一個URI
-`attributes`是token的統計數據
如果您的NFT與其他NFT進行交互,確保tokenURI上的屬性(attributes)與您的NFT智能合約的屬性(attributes)相匹配,這一點非常重要,否則當戰斗或互動沒有達到預期時,您可能會感到困惑!
為`tokenURI`分配出tokenIds之后,NFT市場就能夠顯示你的token,讓你展示你的創造力。你可以在Rinkebytestnet的OpenSea市場上看到我們使用更新后的《龍與地下城》隨機NFT代碼倉庫創建的一個NFT。這種市場有很多,比如Mintable、Rarible。
鏈上和鏈下元數據
你可以一直將所有的元數據存儲在鏈上,但很多NFT市場不知道如何讀取鏈上元數據_現在。_所以目前來說,使用鏈下元數據來可視化你的代幣,同時擁有所有的鏈上元數據是最理想的,這樣你的代幣就可以互相交互。
名稱、描述和屬性很容易在鏈上存儲,但圖像才是難點。另外,我們在哪里存儲tokenURI的API?很多人選擇運行服務器來托管信息,這很好,但這是一個中心化的用于可視化token的地方。如果我們能把圖片存儲在鏈上,這樣就不會宕機或被黑客攻擊,是一個更好的選擇。在上面的例子中,他們的圖片使用的是指向IPFS的URL,這是一種常用地存儲圖片的方式。
IPFS是InterPlanetaryFileSystem的縮寫,是一種點對點的超媒體協議,旨在使網絡更快、更安全、更開放。它允許任何人上傳一個文件,并且該文件是經過哈希校驗的,所以如果文件發生改變,它的哈希值也會改變。這對于存儲圖片來說是非常理想的,因為這意味著每次圖片更新時,鏈上的哈希/tokenURI也要改變,同時這意味著我們可以擁有元數據的歷史記錄。將圖像添加到IPFS上也非常簡單,而且不需要運行服務器。
BurnBNB:目前已經銷毀114400枚BNB:金色財經消息,BurnBNB發推特表示,自BEP-95實時銷毀升級以來,已經銷毀了114,400枚BNB(價值46,067,950美元)。[2022/8/27 12:52:05]
現在我們知道了要做什么,下面讓我們來構建和部署吧!你部署了你的NFT代幣和市場之后,一個代幣將看起來像這樣:
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才能繼續。
金融穩定理事會:加密資產和市場必須受到與其構成的風險相稱的有效監管:7月11日消息,金融穩定理事會(Financial Stability Board)發布關于關于加密資產活動國際監管的聲明,聲明表示,加密貨幣市場的動蕩顯示出內在的波動和結構性漏洞,加密資產和市場必須受到與其構成的風險相稱的有效監管。聲明還指出,穩定幣如果要被廣泛采用為一種支付手段,就應該受到強有力的監管。加密資產服務提供商必須遵守其運營轄區的現有法律。(FSB)[2022/7/11 2:05:05]
配置環境變量
配置`MNEMONIC`和一個rinkeby`RINKEBY_RPC_URL`環境變量。你的`MNEMONIC`是你的錢包的種子短語。你可以從節點提供者服務中找到一個`RINKEBY_RPC_URL`,比如Infura。
然后,將它們設置在`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
現貨黃金短線拉升5美元,現報1851.56美元/盎司:行情顯示,現貨黃金短線拉升5美元,現報1851.56美元/盎司。現貨白銀短線上漲0.15美元,現報22.11美元/盎司。[2022/6/7 4:08:56]
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的標簽。
IDC發布《IDCFutureScape:全球區塊鏈2021年預測-中國啟示》,本次預測覆蓋區塊鏈富有前景的熱門應用領域,包括投票、醫療、跨境貿易、溯源、金融等.
1900/1/1 0:00:001月18日,針對NYDIG首席執行官稱機構投資者只對比特幣感興趣的說法,灰度首席執行官MichaelSonnenshein于推特上發表評論稱,大多數機構投資者第一次投資加密貨幣是選擇比特幣.
1900/1/1 0:00:00Atlas Trading創始人涉嫌欺詐和操縱股票被SEC指控:金色財經報道,Atlas Trading創始人Zack Morris和PJ Matlock被美國證券交易委員會指控操縱股票.
1900/1/1 0:00:00十多年來,網易雷火透過游戲和玩家需求,正在利用人工智能和區塊鏈技術,加速消除虛擬世界和現實世界的距離感.
1900/1/1 0:00:00本文來源:中國金融信息網,原題《利用區塊鏈等技術解決公共資源高效合理配置》作者:陳曉華,北京郵電大學國家大學科技園金融科技研究所所長、中國移動通信聯合會區塊鏈專業委員會主任委員公共資源是指自然生.
1900/1/1 0:00:00今日,EOS創始人BM發帖稱,比特幣和以太坊的先動優勢給它們帶來了遠遠超過其相對原始、低性能設計的技術缺陷的網絡效應。自我實現對資本收益和流動性的追求助長了這些網絡效應.
1900/1/1 0:00:00