比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

NFT制作與OpenSea部署教程_TOKEN

Author:

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

在這篇文章里,筆者將展示如何在沒有軟件公共技術背景下制作 NFT。然后,我們將學習如何用 Brownie、 Python、和 Chainlink 制作無限制可自定義的 NFT。以及我們也會看到如何在 OpenSea 的 NFT 市場上部署和銷售我們的創作。

如果你在找使用 Truffle、JavaScript 和有趣的中世紀人物的教程,可以看看如何《構造、部署、和出售你的NFT》 。

什么是 NFT?

NFTs (Non-Fungible Tokens,不可置換代幣) 可以用一個詞來總結:唯一性。這些是部署在區塊鏈上的智能合約,代表著某種東西的唯一性。

ERC20 vs ERC721

NFT 是一種區塊鏈代幣標準,與 ERC20 相似,像 AAVE、SNX、和LINK (準確來說是 ERC677)。ERC20 是“可置換”代幣,這意味著那些代幣是可被替換的 (replaceable) 和可互相兌換 (interchangeable)。

例如,無論你使用的是哪種美元鈔票,你的美元鈔票都將價值 1 美元。美元鈔票上的序列號可能不一樣,但鈔票間是可以互相兌換的,而且它們仍然價值1美元。

另一方面,NFT 是“不可置換的”,它們遵守的是它們自己的代幣標準 ERC721。例如,蒙羅麗莎是“不可置換的”。即使有人可以制作一個副本,永遠也只會有一幅蒙羅麗莎。如果蒙羅麗莎是在區塊鏈上創造的,那么它就是個 NFT。

NFT 是做什么的?

NFT 給創作者、藝術家、游戲設計師和其他職業者提供價值,保存在鏈上的部署還能永久保存。

你總能知道是誰創作了 NFT、誰擁有了 NFT、NFT 的來源,等等,它們給這些創作者帶來的價值比傳統藝術更大。在傳統藝術里,分辨贗品會有點難,但鏈上歷史是很容追蹤到的。

由于智能合約和 NFT 是100%可編程的,NFT 還可以添加內置的版稅和其他功能。給藝術家補助一直是一個問題,因為情況經常是藝術家的作品廣泛傳播而人們不知道作品是誰的。

越來越多的藝術家和工程師正在躍躍欲試,參與到這個有巨大價值的領域,因為這最終是讓藝術家獲得作品報酬的好途徑。不止于此,NFT 是展示你的創造力以及在數字世界成為收藏者的有趣方式。

NFT 的價值

NFT 已經走了很長一段路了,并且我們不斷看到有拍賣價格破紀錄的 NFT,比如“Everyday:The First 5,000 Days” 以 6930 萬美元售出。

因此,這里蘊含著很多價值,它也是在數字世界創作藝術和學習創建智能合約的有趣、動態、和很有魅力的方式。那么,現在我將教你如何制作 NFT 。

如何制作 NFT ?

文章不會涉及的內容

現在,制作 NFT 最簡單的方法是到像 Opensea、 Rarible 或 Mintible 這些平臺,跟著它們的逐步指引在它們平臺部署。

你可以完全采用這個方法,但你可能會被綁定在平臺上,受限于平臺提供的功能。你不能實現無限制的自定義制作,或真正使用 NFT 的優勢。但如果你是一個初級軟件工程師,或沒有非常豐富的技術知識,這是適合你的方法。

汽車制造商斯柯達汽車推出NFT:金色財經報道,汽車制造商斯柯達(Skoda)今天宣布已于Skodaverse India合作推出NFT首次涉足Web3,用戶將能夠在 Skodaverse 的 Web3 環境中購買、交易和參與 NFT。據悉,該NFT或將選擇在NEAR協議,每枚NFT都將為用戶解鎖獨家體驗,并且通過利用碳中和區塊鏈技術實現安全、透明和去中心化交易。據悉,用戶還可以通過 ?kodaverse India 的 Discord、Telegram 和 Twitter 登錄、創建、維護他們的個人資料并監控信息更新。(yourstory)[2023/6/20 21:50:16]

如果你想成為一名很強的軟件工程師,學習一些 solidity 的知識,且有能力可以用無限的創造力創造一些東西,請繼續往下看吧!

如果你剛接觸 solidity,不用擔心,我們會從基礎講起。

如何用無限制的定制制作一個 NFT

我將用這個 ?NFT Brownie Mix 讓你快速入門。這是一個工作代碼庫,有非常多樣板代碼。

準備要求

我們需要安裝下列內容才能開始:

Nodejs 和 npm and npm

Metamask

如果你不熟悉 Metamask,你可以按著這個教程設置。

Rinkeby測試網上的ETH和LINK

我們還需要在 Rinkeby 以太坊測試網上工作,因此我們能免費把我們的合約部署到一個真正的區塊鏈網絡上。

測試網是用來測試我們的智能合約在現實世界運行得如何的好方法。我們需要有 Rinkeby 網絡的 ETH和 LINK 測試幣,我們可以在 Chainlink 文檔中最新的水龍頭鏈接里免費獲得。

我們還需要添加 Rinkeby 的LINK測試幣到我們的 metamask 里,我們可以跟著這個獲取 LINK 文檔的步驟。

如果你還是很疑惑,你可以跟著這個視頻去做,只是要注意是用的 Rinkeby 而不是 Ropsten。

當在像 Ethereum 這樣的智能合約平臺上工作時,我們需要支付少量的 ETH,在需要從鏈下獲取數據時,我們需要支付少量的 LINK。這就是為什么我們需要測試網的 LINK 和 ETH 測試幣。

正式開始吧!這是我們準備部署到 OpenSea 的 NFT。

快速開始

git?clone?https://github.com/PatrickAlphaC/nft-mixcd?nft-mix現在我們需要安裝ganache-cli和eth-brownie

pip?install?eth-brownienpm?install?-g?ganache-cli現在我們可以設置環境變量。如果你對環境變量不熟悉,你可以只把它們添加到你的.env文檔,然后運行:

source?.env你剛剛克隆的代碼庫里應該有一個.env (環境)樣本,它是加了環境變量注釋的。取消注釋就可以使用它們了!

你將需要一個WEB3_INFURA_PROJECT_ID(Web3 Infura 項目 ID) 和一個 PRIVATE_KEY(私鑰)。注冊一個免費 ?Infura 賬號就會有這個 WEB3_INFURA_PROJECT_ID。它會使我們可以發送交易到區塊鏈上。

另類投資解決方案提供商Accelerate即將推出NFT基金:6月28日消息,另類投資解決方案提供商Accelerate Financial Technologies即將推出NFT基金Accelerate NFT Fund,并計劃擁有一系列藍籌NFT,包括CryptoPunks和Bored Ape Yacht Club系列NFT。

Accelerate是加拿大一家另類投資解決方案提供商,提供對沖基金ETF、加密ETF和DeFi基金等產品。(CoinDesk)[2022/6/28 1:36:46]

你還需要一個密鑰,你可以在你的 Metamask 里獲得。點一下那三個小點,然后點擊Account Details(賬戶詳情)和Export Private Key(導出私鑰)。如果你準備把真錢放進去的話,不要把私鑰告訴別人。

export?PRIVATE_KEY=YOUR_KEY_HEREexport?WEB3_INFURA_PROJECT_ID=YOUR_PROJECT_ID_HERE.env

現在我們可以用以下兩個命令部署我們的 NFT 合約和創建我們第一件收藏品了。

brownie?run?scripts/simple_collectible/deploy_simple.py?--network?rinkebybrownie?run?scripts/simple_collectible/create_collectible.py?--network?rinkeby第一行命令用來把我們的 NFT 合約部署到 Rinkeby 區塊鏈,第二行命令用來創建我們第一件收藏品。

你剛已經部署了我們第一份智能合約了!

它不做什么事,但不用擔心。我將在這份教程的高級部分展示你可以如何把它部署到 OpenSea 上。但首先,讓我們看看 ERC721 代幣標準吧。

ERC721 代幣標準

讓我們在SimpleCollectible.sol文檔里看看剛部署的合約吧。

//?SPDX-License-Identifier:?MITpragma?solidity?0.6.6;import?"@openzeppelin/contracts/token/ERC721/ERC721.sol";contract?SimpleCollectible?is?ERC721?{????uint256?public?tokenCounter;????constructor?()?public?ERC721?("Dogie",?"DOG"){????????tokenCounter?=?0;????}????function?createCollectible(string?memory?tokenURI)?public?returns?(uint256)?{????????uint256?newItemId?=?tokenCounter;????????_safeMint(msg.sender,?newItemId);????????_setTokenURI(newItemId,?tokenURI);????????tokenCounter?=?tokenCounter?+?1;????????return?newItemId;????}}我們采用的是 OpenZepplin 的 ERC721 代幣標準。我們導入的這個包 (package) 允許我們使用一個典型 ERC721 代幣的全部功能。這定義了我們的代幣將具有的所有功能,例如transfer意味著把我們的代幣轉移給新用戶,safeMint表示創建新的代幣,等等。

Azuki系列NFT 24小時交易額超569萬美元,24小時增幅超160%:5月2日消息,據NFTGo.io數據顯示,Azuki 系列 NFT 24 小時交易額達 569.8 萬美元,增幅達 164.34%。截至目前,該系列 NFT 地板價為 27.99 ETH,24 小時漲幅 19.99%。[2022/5/2 2:45:01]

在 OpenZepplin 的ERC721 代幣合約里,你可以找到賦予我們合約的所有功能。我們的合約是通過這個命令行承繼這些功能的:

contract?SimpleCollectible?is?ERC721?{solidity 的承繼就是這樣工作的。當我們部署合約時,constructor會被自動調用,它還需要一些參數。

constructor?()?public?ERC721?("Dogie",?"DOG"){????????tokenCounter?=?0;????}我們的構造函數也使用了ERC721的構造函數,我們只需要給它取一個名字和一個符號。在我們的例子中,是"Dogie"和"DOG"。這意味著每個我們創造的 NFT 都是 Dogie/DOG 類。

這就像每張 Pokemon 卡片都是一個 pokermon,或每個在集換式卡片上的棒球手都是一名棒球手。每個棒球手是獨一無二的,但他們全部是棒球手。我們只是在用DOG類。

在頂部我們有tokenCounter,用來計數我們創建了多少這個類型的 NFT。每個新代幣都會獲得一個基于當前 tokenCounter 的 tokenId。

實際上,我們可以用 createCollectible 函數創建一個 NFT。這就是在我們的create_collectible.py腳本里調取的函數。

function?createCollectible(string?memory?tokenURI)?public?returns?(uint256)?{????????uint256?newItemId?=?tokenCounter;????????_safeMint(msg.sender,?newItemId);????????_setTokenURI(newItemId,?tokenURI);????????tokenCounter?=?tokenCounter?+?1;????????return?newItemId;????}_safeMint 函數創建新的 NFT,并把它分給任何調用了createdCollectible 的賬戶,即msg.sender,且會有一個從tokenCounter派生的 newItemId。這就是我們追蹤誰擁有什么的方法——查看所有者的 tokenId。

你會發現我們還調用 _setTokenURI。

什么是 NFT 元數據和 TokenURI

當智能合約被創建了,NFT 就被創建了,人們很快會發現把大量數據部署到區塊鏈真的超級超級貴。試想一下,儲存1 KB 的數據可能就需要100萬美元。

對于 NFT 來說,這顯然是一個問題,因為擁有創意藝術意味著你必須把這個信息儲存在某處。他們還想要一種輕量方法儲存 NFT 的屬性信息——這就是需要 tokenURI 和元數據的地方。

TokenURI

一個 NFT 上的 tokenURI是能展示這個代幣的唯一標識符。一個 URI 可以是HTTPS上的 API 調用、一個 IPFS 的哈希、或任何其他代表唯一的東西。

波場TRON生態NFT交易平臺APENFT Marketplace已正式上線:據官方消息,波場TRON生態NFT交易平臺APENFT Marketplace已于4月15日20:00正式上線。同一時間,APENFT召開以“Game Changer”為主題的全球線上發布會,本次發布會聯動了由歐洲、美洲、非洲、東亞、南亞等多個國家和地區的加密伙伴們組成的全球十大分會場,并邀請了波場TRON創始人孫宇晨先生作為重磅嘉賓,面向全球用戶分享對APENFT Marketplace的期待及生態扶持的愿景。

APENFT致力于成為元宇宙時代的引領者。APENFT通過線上與線下展覽的結合,推動全球藝術品NFT化并扶持優質創作者;通過投資并孵化全球優質NFT與Gamefi項目,通過打造NFT交易平臺,構建符合Web3.0精神的NFT生態。[2022/4/15 14:27:41]

它們遵循一套顯示元數據的標準,如下:

{????"name":?"name",????"description":?"description",????"image":?"https://ipfs.io/ipfs/QmTgqnhFBMkfT9s8PHKcdXBn1f5bG3Q5hmBaR4U6hoTvb1?filename=Chainlink_Elf.png",????"attributes":?[????????{????????????"trait_type":?"trait",????????????"value":?100????????}????]}這些數據展現了一個 NFT 是什么樣的以及它的屬性。image部分指向另一個展示該 NFT 的 URI。這使得 NFT 可以更容易在像 Opensea、Rarible和 Mintable 這些 NFT 平臺上部署,因為它們都需要這種元數據。

鏈下元數據 vs 鏈上元數據

現在你可能會想“等等,如果元數據不在鏈上,這是否意味著我的 NFT 可能會在某個時候消失了”?你的想法是對的。

如果你認為鏈下元數據意味著你無法用那元數據讓你的智能合約互相交互,你的想法也是對的。

這也是為什么我們專注在鏈上元數據上,這樣我們才可以對我們的 NFT 進行編程,使它們互相交互。

盡管如此,我們仍然需要image部分的鏈下元數據,因為我們還沒有在鏈上儲存大圖像的好方法。但不要擔心,通過使用 IPFS,我們還是可以免費在一個去中心化網絡實現這一點。

這里是 IPFS 的一個 imageURI 示例,這個圖像是按照《龍與地下城》教程創建的 Chainlink Elf。

The Chainlink Elf

我們沒有給簡單的 NFT 設一個 tokenURI 是因為我們只想展示一個基本示例。

現在進入高級 NFT 部分,我們可以看到用鏈上元數據實現的一些很棒的功能,把 NFT 部署到 Opensea 上,把我們的 Dogie 放上去!

如果你想看我們剛講過部分的重溫視頻,可以點擊這里。

動態和高級的 NFT

動態 NFT 是那種隨時間變化的,或具有我們可以用來互相交互的鏈上功能的 NFT。這些 NFT 給了我們無限制的自定義空間去制作整個游戲、構建世界、以及某種交互藝術。現在讓我們進入高級部分吧。

歐易OKEx CEO Jay Hao:NFT具備真實投資價值,當前市場存在一定泡沫:4月26日消息,前NBA籃球明星、中國籃協主席姚明位于美國的酒莊發布頂級葡萄酒品牌The Chop,同時將拍賣其限量版NFT。歐易OKEx CEO Jay Hao對此表示祝賀并表示,NFT是順應數字經濟時代潮流發展的產物,為廣大創作者的作品提供了獨一無二的所屬證明,有力地保障了創作者的著作權,很大程度會促進更多優秀作品的產出。

Jay Hao同時指出,關于NFT,我們應該正視兩點:其一,存在真實投資價值;其二,目前市場存在一定程度泡沫,NFT存在加密世界早期產品的典型問題,市場需要時間來消化這些泡沫才有望迎來新一輪發展。[2021/4/26 21:00:47]

高級部分快速開始

確認你的 metamask 里有足夠的 ETH 和 LINK 測試幣,然后運行下面的命令行:

brownie?run?scripts/advanced_collectible/deploy_advanced.py?--network?rinkebybrownie?run?scripts/advanced_collectible/create_collectible.py?--network?rinkeby我們這里的收藏品是從 Chainlink VRF (Virtual Routing and Forwarding,虛擬路由和轉發) 返回的一個隨機犬種。Chainlink VRF 能提供可驗證隨機數,也就我們 NFT 真正稀缺性來源。然后,我們就要創建它的元數據了。

brownie?run?scripts/advanced_collectible/create_metadata.py?--network?rinkeby然后,我們可以選擇性地上載這個數據到 IPFS,這樣我們就會獲得一個 tokenURI。我在后面會展示給你看要怎么做。現在,我只需要用下面這個樣本 tokenURI。

https://ipfs.io/ipfs/Qmd9MCGtdVz2miNumBHDbvj8bigSgTwnr4SbyH6DNnpWdt?filename=1-PUG.json如果你下載 IPFS Companion ?擴展程序到你的瀏覽器,你可以使用該 URL 來查看這個 URI 返回的是什么。它應該是下面展示的這樣:

{????"name":?"PUG",????"description":?"An?adorable?PUG?pup!",????"image":?"https://ipfs.io/ipfs/QmSsYRx3LpDAb1GZQm7zZ1AuHZjfbPkD6J7s9r41xu1mf8?filename=pug.png",????"attributes":?[????????{????????????"trait_type":?"cuteness",????????????"value":?100????????}????]}然后運行我們的 set_tokenuri.py 腳本:

brownie?run?scripts/advanced_collectible/set_tokenuri.py?--network?rinkeby我們得到的輸出如下:

Running?'scripts/advanced_collectible/set_tokenuri.py::main'...Working?on?rinkebyTransaction?sent:?0x8a83a446c306d6255952880c0ca35fa420248a84ba7484c3798d8bbad421f88e??Gas?price:?1.0?gwei???Gas?limit:?44601???Nonce:?354??AdvancedCollectible.setTokenURI?confirmed?-?Block:?8331653???Gas?used:?40547?(90.91%)Awesome!?You?can?view?your?NFT?at?https://testnets.opensea.io/assets/0x679c5f9adC630663a6e63Fa27153B215fe021b34/0Please?give?up?to?20?minutes,?and?hit?the?"refresh?metadata"?button我們可以點擊里面的鏈接看看它在 Opensea 上怎么樣的。你可能需要點 refresh metadata ,等上幾分鐘。

隨機犬種

現在說一下我們剛做了什么。這是我們的 AdvancedCollectible.sol:

pragma?solidity?0.6.6;import?"@openzeppelin/contracts/token/ERC721/ERC721.sol";import?"@chainlink/contracts/src/v0.6/VRFConsumerBase.sol";contract?AdvancedCollectible?is?ERC721,?VRFConsumerBase?{????uint256?public?tokenCounter;????enum?Breed{PUG,?SHIBA_INU,?BRENARD}????//?add?other?things????mapping(bytes32?=>?address)?public?requestIdToSender;????mapping(bytes32?=>?string)?public?requestIdToTokenURI;????mapping(uint256?=>?Breed)?public?tokenIdToBreed;????mapping(bytes32?=>?uint256)?public?requestIdToTokenId;????event?requestedCollectible(bytes32?indexed?requestId);?????bytes32?internal?keyHash;????uint256?internal?fee;????uint256?public?randomResult;????constructor(address?_VRFCoordinator,?address?_LinkToken,?bytes32?_keyhash)????public?????VRFConsumerBase(_VRFCoordinator,?_LinkToken)????ERC721("Dogie",?"DOG")????{????????tokenCounter?=?0;????????keyHash?=?_keyhash;????????fee?=?0.1?*?10?**?18;????}????function?createCollectible(string?memory?tokenURI,?uint256?userProvidedSeed)?????????public?returns?(bytes32){????????????bytes32?requestId?=?requestRandomness(keyHash,?fee,?userProvidedSeed);????????????requestIdToSender[requestId]?=?msg.sender;????????????requestIdToTokenURI[requestId]?=?tokenURI;????????????emit?requestedCollectible(requestId);????}????function?fulfillRandomness(bytes32?requestId,?uint256?randomNumber)?internal?override?{????????address?dogOwner?=?requestIdToSender[requestId];????????string?memory?tokenURI?=?requestIdToTokenURI[requestId];????????uint256?newItemId?=?tokenCounter;????????_safeMint(dogOwner,?newItemId);????????_setTokenURI(newItemId,?tokenURI);????????Breed?breed?=?Breed(randomNumber?%?3);?????????tokenIdToBreed[newItemId]?=?breed;????????requestIdToTokenId[requestId]?=?newItemId;????????tokenCounter?=?tokenCounter?+?1;????}????function?setTokenURI(uint256?tokenId,?string?memory?_tokenURI)?public?{????????require(????????????_isApprovedOrOwner(_msgSender(),?tokenId),????????????"ERC721:?transfer?caller?is?not?owner?nor?approved"????????);????????_setTokenURI(tokenId,?_tokenURI);????}}我們使用 Chainlink VRF 從 PUG, SHIBA_INU, BRENARD列表里創建一個隨機犬種。此時當我們調用 createCollectible 時,我們實際上在鏈下向 Chainlink VRF 節點發出了一個請求,然后返回一個隨機數,以三個犬種里的一種來創建這個 NFT。

在你的 NFT 里使用一個真正的隨機數是創造真正稀缺性的好方法,使用 Chainlink 預言機的隨機數意味著你的數字具有可驗證的隨機性,無法被礦工修改。

你可以在 Chainlink VRF 文檔里了解更多。

Chainlink 節點通過調用 fulfillRandomness函數來響應,并基于隨機數創建收藏品。然后,我們還是必須調用 _setTokenURI 來給 NFT 提供所需的外觀。

我們此時不設置我們 NFT 的屬性,但屬性對提升我們 NFT 的競爭力和交互性非常有用。你可以在龍與地下城的例子中看到設置了屬性的 NFT 是怎樣的。

來自 IPFS 的元數據

我們正在使用 IPFS 來存儲兩個文檔:

1.?NFT 的圖像 (八哥的形象)

2. tokenURI文檔 (還包含了圖像鏈接的 JSON 文檔)

我們使用 IPFS 因為它是免費的去中心化平臺。通過下載 IPFS 桌面版,點擊 import按鈕,我們可以把 tokenURI 和圖像添加到 IPFS。

添加文檔到 IPFS

然后,點擊文檔傍邊的三個點,點 share link,然后復制提供的鏈接, 我們就可以分享 URI 了。然后,我們可以把這個鏈接添加到我們的 set_tokenuri.py 文檔,把代 tokenURI 改為我們想要使用的。

堅持去中心化

但是,如果 tokenURI 只在我們自己的節點上,這意味著如果我們的節點離線了,其他人就看不到它了。因此,我們希望別人可以 pin (掛)我們的 NFT。我們可以使用像 Pinata 這樣的服務商,即使我們的 IPFS 節點處于離線狀態,他們也可以幫助我們保持數據在線上。

我想,以后會有越來越多的元數據儲存在 IPFS 和去中心化儲存平臺。中心化服務器會式微,也就是說在上面的藝術品會永遠消失。因此,請務必檢查你的NFT使用的 tokenURI 的位置!

我預計以后會有越來越多人使用像 ?Filecoin 這樣的去中心化儲存平臺,因為使用 pinning 服務并不非常去中心化。

繼續前進

如果你想看一個高級 NFT 講解視頻,你可以看這個。

現在你已經有了制作好看、有趣、可自定義、具有交互性的 NFT,并把它部署到交易平臺的技能了。

NFT 是能給藝術家的辛勤創作提供精確回報的一種有趣、強大的方式。祝你好運,享受這個過程吧!

Tags:NFTTOKKENTOKENNFT-StarterBitcointry TokenGrayscale Bitcoin Trust tokenized stock FTXXmix Token

幣安app官方下載最新版
再談預言機:Oracle如何重新定義智能合約?_區塊鏈

而在本期專欄中,作者將詳細解釋 預言機是如何實現 「把現實世界中的數據以交易的形式記錄在區塊鏈上」 這一功能的? 「N3預言機有哪些問題亟需解決?」? 快來一起來看看吧?? 制約區塊鏈發展的一個.

1900/1/1 0:00:00
ETHA Lend:從單鏈走向多鏈 跨鏈收益優化領域的先行者_ETH

對于 DeFi 領域的大部分用戶來說,參與流動性挖礦,可以說是獲取利潤最普遍的方式。然而,目前普通用戶參與挖礦的門檻卻變得越來越高.

1900/1/1 0:00:00
科普 | 了解 0x 協議的生態_EFI

這是一場多么奇妙的旅程? 0x 的早期用戶或許還記得曾經的去中心化交易所生態是什么樣的 —— EtherDelta 還沒有得到廣泛采用,自動化做市商才剛誕生不久.

1900/1/1 0:00:00
HGT挖礦教程 火幣錢包詳細挖礦步驟_GRAP

很多朋友關注HyperGraph Token(HGT)如何挖礦,下面就以火幣錢包為例,詳細解析HGT挖礦步驟.

1900/1/1 0:00:00
100萬美元總獎金池 Solana Grant線上Hackathon開啟預報名_OLA

4月28日起,Solana Foundation攜手Serum、 Raydium在DoraHacks開發者平臺HackerLink共同開啟Solana Season Hackathon.

1900/1/1 0:00:00
五分鐘速覽NFT游戲項目Illuvium 內附BLBP參與教程_NFT

NFT 游戲項目 Illuvium 將于今晚 23 時通過?Balancer?LBP (BLBP)發售 100 萬枚代幣,而此前.

1900/1/1 0:00:00
ads