比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > SHIB > Info

BSP:NFT教程:用Flow和IPFS創建NFT

Author:

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

非同質化代幣(NFT)市場正在進入狂熱,回顧 NFT 早期的發展歷程,回憶CryptoKitties所暴露出挑戰是很有意思的。CryptoKitties 由Dapper Labs的團隊打造,是讓以太坊第一次出現“大規模”使用的案例。

從那之后,NFT 就開始成長之路,Rarible、OpenSea、Foundation、Sorare等平臺紛紛涌現。這些平臺每月都有數百萬元的流量。盡管磕磕碰碰,但大部分依舊在以太坊區塊鏈上發生著。但 Dapper Labs 的團隊在經歷了 CryptoKitties 之后,著手建立一個新的通用的,很適合 NFT 使用場景區塊鏈。他們這樣做的目標是想解決在以太坊上看到的許多 NFT 的問題,同時為該領域的開發者和收藏者提供更好的體驗。他們的新區塊鏈Flow,已經證明了自己能夠落地,并吸引一些大牌。,如 NBA、UFC、甚至 Dr. Seuss 都在使用 Flow。

我們最近寫了使用 IPFS 上保存標的資產來創建 NFT,并且討論 NFT 領域的責任問題,以及 IPFS 如何提供幫助。現在,這篇文章談談如何在 Flow 上創建 IPFS 支持的 NFT。Flow 區塊鏈早期的主要應用之一是NBA 巔峰對決 (NBA Top Shot)。我們要重新建立一個非常基本的 NFT 鑄幣過程,然后在 IPFS 上回溯 NFT 元數據和標的資產。

由于我們喜歡 pi?atas,所以我們的 NFT 將不再是 NBA 精彩的視頻,而是一個可交易的 pi?atas 視頻。

本教程有 3 篇文章

創建合約和鑄造代幣(本文是第一篇)

創建一個應用程序,以查看通過該合約創建的 NFT。

創建一個市場,將 NFT 轉讓給他人,同時也轉移在 IPFS 上的標的資產。

我們需要安裝 Flow CLI。在Flow 的文檔中有一些很好的安裝說明:

macOS

brew install flow-cliLinux

sh -ci “$(curl -fsSL https://storage.googleapis.com/flow-cli/install.sh)"Windows

iex “& { $(irm ‘https://storage.googleapis.com/flow-cli/install.ps1') }”我們將在 IPFS 上存儲資產文件。我們使用Pinata 來簡化操作, 可以在這里注冊一個免費賬戶,獲取一個API 密鑰。在本教程的第二篇文章中會使用 Pinata API,但在本篇文章中我們使用 Pinata 網站。

我們還需要安裝 NodeJS 和一個文本編輯器,它可以幫助高亮顯示 Flow 智能合約(這是用一種叫做Cadence的語言編寫)代碼的語法。Visual Studio Code 有一個支持 Cadence 語法的插件。

讓我們為項目創建一個目錄:

mkdir pinata-party進入該目錄,并初始化一個新的 flow 項目:

cd pinata-partyflow project init現在,使用你最喜歡的代碼編輯器中打開項目(如果你使用 Visual Studio Code,可以安裝下 Cadence 插件),讓我們開始工作。

你會看到一個flow.json文件,我們很快就會用到它。首先,創建一個名為 cadence的文件夾。在該文件夾內,再添加一個名為 contracts的文件夾。最后,在 contracts文件夾中創建一個名為 PinataPartyContract.cdc的文件。

說明一下,我們現在所做的一切關于 Flow 區塊鏈的工作都將在模擬器上完成。但是,將一個項目部署到測試網或主網,只需要更新flow.json文件中的配置這樣簡單。我們現在就把這個文件設置成模擬器環境,然后就可以開始寫我們的合約了。

更新flow.json中的合約對象,代碼如下:

"contracts": {     "PinataPartyContract": "./cadence/contracts/PinataPartyContract.cdc"}然后,更新該文件中的 deployments對象,代碼如下:

"deployments": {     "emulator": {          "emulator-account": ["PinataPartyContract"]     }}這是在告訴 Flow CLI 使用模擬器來部署我們的合約,它也在引用(在模擬器上)我們即將寫的合約 ...

Delphi Digital:2019年至今CS:GO累計交易額是5大頭部NFT總和的6.6倍:金色財經報道,據加密行業研投機構Delphi Digital在社交媒體披露數據顯示,第一人稱射擊團隊競技游戲CS:GO(《反恐精英:全球攻勢》)自2019年以來靠游戲皮膚和道具銷售已獲得的累計交易額超過了320億美元,是 Axie Infinity、BAYC、CryptoPunks、MAYC和Art Blocks五大頭部NFT系列交易總額的6.6倍。[2023/6/4 21:15:05]

Flow 有一個關于創建 NFT 合約的出色教程。他是一個很好的參考,但是正如 Flow 自己指出的,他們還沒有解決 NFT 元數據的問題。他們希望在鏈上存儲元數據。這是個好主意,他們一定會想出一個合理的辦法來。然而,我們現在想要鑄造一些帶有元數據的代幣,并且我們想要關聯上對應的媒體文件(標的)。元數據只是其中一個組成部分。我們還需要指出代幣最終代表的媒體文件。

如果你熟悉以太坊區塊鏈上的 NFT,你可能會知道,許多代幣的標的資產都存儲在傳統的云服務器上,這樣做是可以的,但又弊端。我們曾寫過關于IPFS內容可尋址,以及在傳統云平臺上存儲區塊鏈數據的弊端,歸結起來主要有兩點:

資產應可核查

應該很容易轉移維護責任

IPFS解決了這兩點。而 Pinata 則以一種簡單的方式將該內容長期保存在 IPFS 上。這正是我們的 NFT 關聯的資料所需要的?我們要確保能夠證明擁有 NFT 的所有權,并確保我們能控制對標的資產(IPFS)--媒體文件或其他內容,確保不是復制品。

考慮到這一點,讓我們寫一份合約,它可以鑄造 NFT,將元數據關聯到 NFT,并確保元數據指向存儲在 IPFS 上的標的資產。

打開PinataPartyContract.cdc,編寫一下代碼:

pub contract PinataPartyContract {  pub resource NFT {    pub let id: UInt64    init(initID: UInt64) {      self.id = initID    }  }}第一步是定義合約,后面會添加更多的內容,但我們首先定義PinataPartyContract,并在其中創建一個resource。資源是存儲在用戶賬戶中并通過訪問控制措施進行訪問。在這里,NFT資源最終用來代表 NFT 所擁有的東西。NFT 必須是唯一的, id屬性允許我們標識代幣。

接下來,我們需要創建一個資源接口,我們將用它來定義哪些能力可以提供給其他人(即不是合約所有者)。

pub resource interface NFTReceiver {  pub fun deposit(token: @NFT, metadata: {String : String})  pub fun getIDs(): [UInt64]  pub fun idExists(id: UInt64): Bool  pub fun getMetadata(id: UInt64) : {String : String}}把這個代碼放在 NFT resource 代碼的下面。這個NFTReceiver資源接口用來定義對資源有訪問權的人,就可以調用以下方法:

deposit

getIDs

idExists

getMetadata

接下來,我們需要定義代幣收藏品( Colletion )接口。把它看成是存放用戶所有 NFT 的錢包。

pub resource Collection: NFTReceiver {    pub var ownedNFT: @{UInt64: NFT}    pub var metadataObjs: {UInt64: { String : String }}    init () {        self.ownedNFT <- {}        self.metadataObjs = {}    }    pub fun withdraw(withdrawID: UInt64): @NFT {        let token <- self.ownedNFT.remove(key: withdrawID)!        return <-token    }    pub fun deposit(token: @NFT, metadata: {String : String}) {        self.ownedNFT[token.id] <-! token    }    pub fun idExists(id: UInt64): Bool {        return self.ownedNFT[id] != nil    }    pub fun getIDs(): [UInt64] {        return self.ownedNFT.keys    }    pub fun updateMetadata(id: UInt64, metadata: {String: String}) {        self.metadataObjs[id] = metadata    }    pub fun getMetadata(id: UInt64): {String : String} {        return self.metadataObjs[id]!    }    destroy() {        destroy self.ownedNFT    }}這個資源里有很多東西,說明一下。首先,有一個變量叫ownedNFT。這個是很直接的,它可以跟蹤用戶在這個合約中所有擁有的 NFT。

Stark Rocks將在用Cairo1.0重寫合約后向用戶空投Rock NFT:1月10日消息,StarkNet生態NFT項目Stark Rocks團隊將在Cairo1.0中重寫Stark Rock合約,為Rock持有者錢包快照并向這些錢包空投新Rock NFT。

據悉,Stark Ware推出第一個公開版本的Cairo1.0,而StarkNet主網上的NFT合約需在狀態重置后用Cairo1.0重寫,用戶無需進行任何操作,狀態重置后,舊NFT將失效,無法出售、購買、轉讓。[2023/1/10 11:03:58]

接下來,有一個變量叫metadataObjs。這個有點特殊,因為我們擴展了 Flow NFT 合約功能,為每個 NFT 存儲元數據的映射。這個變量將代幣 id 映射到其相關的元數據上,這意味著我們需要在設置代幣 id 之前,將其設置為元數據。

然后我們初始化變量。定義在 Flow 中的資源中的變量必需初始化。

最后,我們擁有了 NFT Collection 資源的所有可用函數。需要注意的是,并不是所有這些函數大家都可以調用。你還記得在前面,NFTReceiver資源接口中定義了任何人都可以訪問的函數。

我尤其想指出 deposit函數。正如我們擴展了默認的 Flow NFT 合約以包含 metadataObjs映射一樣,我們正在擴展默認的 deposit函數,以接受額外的 metadata參數。為什么要在這里做這個?因為需要確保只有 token 的 minter 可以將該元數據添加到 token 中。為了保持這種私密性,將元數據的初始添加限制在鑄幣執行中。

合約代碼就快完成了。因此,在 Collection資源的下面,添加以下內容:

pub fun createEmptyCollection(): @Collection {    return <- create Collection(。pub resource NFTMinter {    pub var idCount: UInt64    init() {        self.idCount = 1    }    pub fun mintNFT(): @NFT {        var newNFT <- create NFT(initID: self.idCount)        self.idCount = self.idCount + 1 as UInt64        return <-newNFT    }}首先,我們有一個函數,在調用時創建一個空的 NFT Collection。這就是第一次與合約進行交互的用戶如何創建一個存儲位置,該位置映射到定義好的 Collection資源。

之后,我們再創建一個資源(resource)。它很重要的,因為沒有它,我們就無法鑄造代幣。NFTMinter資源包括一個idCount,它是遞增的,以確保我們的 NFT 不會有重復的 id。它還有一個功能,用來創造 NFT。

在NFTMinter資源的下方,添加主合約初始化函數;

init() {      self.account.save(<-self.createEmptyCollection(), to: /storage/NFTCollection)      self.account.link<&{NFTReceiver}>(/public/NFTReceiver, target: /storage/NFTCollection)      self.account.save(<-create NFTMinter(), to: /storage/NFTMinter。這個初始化函數只有在合約部署時才會被調用。它有三個作用。

跨鏈預言機解決方案SupraOracles與3D元宇宙NFT游戲Dinoland達成合作:7月12日消息,跨鏈預言機解決方案SupraOracles宣布與Dinoland達成合作,后者是一個3D元宇宙NFT游戲。

據悉,Dinoland將根據需求整合SupraOracles的預言機服務。通過此次合作,Dinoland將為用戶提供一個安全的游戲環境。此外,SupraOracles將幫助Dinoland建立跨鏈橋。[2022/7/12 2:08:14]

為收藏品(Collection)的部署者創建一個空的收藏品,這樣合約的所有者就可以從該合約中鑄造和擁有 NFT。

Collection資源發布在一個公共位置,并引用在一開始創建的NFTReceiver接口。通過這個方式告訴合約,在NFTReceiver上定義的函數可以被任何人調用。

NFTMinter資源被保存在賬戶存儲中,供合約的創建者使用。這意味著只有合約的創造者才能鑄造代幣。

合約全部代碼可在這里找到。

現在合約已經準備好了,讓我們來部署它,對嗎?我們也許應該在Flow Playground上測試一下。到那里,點擊左側側欄的第一個賬號。將示例合約中的所有代碼替換為我們的合約代碼,然后點擊部署。如果一切順利,你應該在屏幕底部的日志窗口中看到這樣的日志。

16:48:55 Deployment Deployed Contract To: 0x01現在我們已經準備好將合約部署到本地運行的模擬器上。在命令行中,運行:

flow project start-emulator現在,如果模擬器的運行正確和flow.json文件的正確配置,我們可以部署合約。只需運行這個命令:

flow project deploy如果一切順利,你應該看到這樣的輸出:

Deploying 1 contracts for accounts: emulator-accountPinataPartyContract -> 0xf8d6e0586b0a20c7現在已經在 Flow 模擬器上上線了一個合約,但我們想鑄造一個 NFT 代幣。

在教程的第二篇文章中,我們將通過一個應用程序和用戶界面使鑄幣過程更加友好。為了看到所鑄造的內容,并展示元數據如何在 Flow 上與 NFT 一起工作,我們將使用 Cadence 腳本和命令行。

在 pinata-party項目的根目錄下創建一個新的目錄,我們把它叫做 transactions。創建好文件夾,在里面創建一個名為MintPinataParty.cdc 的新文件。

為了編寫出交易,先需要提供給 NFT 的元數據一個引用文件。為此,我們將通過 Pinata 上傳一個文件到 IPFS。這個教程中,我將上傳一個孩子在生日派對上砸 pinata 的視頻。你可以上傳任何你想要的視頻文件。你真的可以上傳任何你喜歡的資產文件,并將其與你的 NFT 關聯起來,在本教程系列的第二篇文章將期待視頻內容。一旦你準備好你的視頻文件,在這里上傳。

當你上傳文件后,你會得到一個 IPFS 哈希(通常被稱為內容標識符或 CID)。復制這個哈希值,因為我們將在鑄幣過程中使用它。

現在,在你的MintPinataParty.cdc文件中,添加以下內容:

import PinataPartyContract from 0xf8d6e0586b0a20c7transaction {  let receiverRef: &{PinataPartyContract.NFTReceiver}  let minterRef: &PinataPartyContract.NFTMinter  prepare(acct: AuthAccount) {      self.receiverRef = acct.getCapability<&{PinataPartyContract.NFTReceiver}>(/public/NFTReceiver)          .borrow()          ?? panic("Could not borrow receiver reference")      self.minterRef = acct.borrow<&PinataPartyContract.NFTMinter>(from: /storage/NFTMinter)          ?? panic("could not borrow minter reference")  }  execute {      let metadata : {String : String} = {          "name": "The Big Swing",          "swing_velocity": "29",          "swing_angle": "45",          "rating": "5",          "uri": "ipfs://QmRZdc3mAMXpv6Akz9Ekp1y4vDSjazTx2dCQRkxVy1yUj6"      }      let newNFT <- self.minterRef.mintNFT()      self.receiverRef.deposit(token: <-newNFT, metadata: metadata)      log("NFT Minted and deposited to Account 2's Collection")  }}這是一個非常簡單的交易代碼,這在很大程度上要歸功于 Flow 所做的工作,但讓我們來看看它。首先,你會注意到頂部的導入語句。如果你還記得,在部署合約時,我們收到了一個賬戶地址。它就是這里引用的內容。因此,將0xf8d6e0586b0a20c7替換為你部署的賬戶地址。

選秀節目《美國偶像》將與Theta Labs合作推出實時預測NFT:金色財經消息,美國大眾歌手選秀節目《美國偶像》將與Theta Labs合作推出實時預測NFT,以紀念其在美國播出第20季節目。根據新聞稿,《美國偶像》NFT卡包售價99美元,收藏者將獲得一張代表14強選手之一的NFT卡。Theta Labs聯合創始人兼首席執行官Mitch Liu表示,Theta支持的實時預測性NFT將使粉絲們不僅僅為選手投票,還能成為評委。NFT將允許粉絲收集獎勵,最終的獎勵可兌換成一張好萊塢門票的NFT。(CryptoSlate)[2022/4/18 14:30:48]

接下來我們對交易進行定義。在我們的交易中,我們首先要做的是定義兩個參考變量,receiverRef和minterRef。在這種情況下,我們既是 NFT 的接收者,又是 NFT 的挖掘者。這兩個變量是引用我們在合約中創建的資源。如果執行交易的人對資源沒有訪問權,交易將失敗。

接下來,我們有一個prepare函數。該函數獲取試圖執行交易的人的賬戶信息并進行一些驗證。它會嘗試 借用兩個資源 NFTMinter和 NFTReceiver上的可用能力。如果執行交易的人沒有訪問這些資源的權限,驗證無法通過,這就是交易會失敗的原因。

最后是execute函數。這個函數是為我們的 NFT 建立元數據,鑄造 NFT,然后在將 NFT 存入賬戶之前關聯元數據。如果你注意到,我創建了一個元數據變量。在這個變量中,添加了一些關于 token 的信息。由于我們的代幣代表的是一個事件,即一個 pi?ata 在派對上被打碎,并且因為我們試圖復制你在 NBA Top Shot 中看到的大部分內容,所以我在元數據中定義了一些統計數據。孩子揮棒打 pi?ata 的速度,揮棒的角度和等級。我只是覺得這些統計數字有意思。你可以用類似的方式為你的代幣定義任何有意義的信息。

你會注意到,我還在元數據中定義了一個uri屬性。這將指向 IPFS 哈希,它承載著我們與 NFT 相關的標的資產文件。在這種情況下,它是 pi?ata 被擊中的真實視頻。你可以用你之前上傳文件后收到的哈希值來替換。

我們用ipfs://作為哈希的前綴,有幾個原因。這是 IPFS 上文件的標識符,可以使用 IPFS 的桌面客戶端和瀏覽器擴展。也可以直接粘貼到 Brave 瀏覽器中(Brave 瀏覽器現在提供了對 IPFS 內容的原生支持)。

調用 mintNFT函數來創建代幣。然后調用deposit函數將其存入我們的賬戶。這也是我們傳遞元數據的地方。如果你還記得,我們在 deposit函數中定義了一個關聯變量,將元數據添加到關聯的 token id 中。

最后,我們只需要日志記錄代幣已被鑄造和存入賬戶的信息。

現在我們差不多可以執行代碼發送交易鑄造 NFT 了。但首先,我們需要準備好我們的賬戶。在項目根目錄下的命令行中,創建一個新的簽名私鑰。

運行以下命令。

flow keys generate這將返回你一個公鑰和一個私鑰, 請始終保護好你的私鑰。

我們將需要私鑰來簽署交易,所以我們可以把它粘貼到flow.json文件中。我們還需要指定簽名算法。下面是flow.json文件中的accounts 的內容:

"accounts": {  "emulator-account": {     "address": "YOUR ACCOUNT ADDRESS",     "privateKey": "YOUR PRIVATE KEY",     "chain": "flow-emulator",     "sigAlgorithm": "ECDSA_P256",     "hashAlgorithm": "SHA3_256"  }},如果你打算在 github 或任何遠程 git 倉庫上存儲這個項目的任何內容,請確保你不包含私鑰。你可能想.gitignore你的整個flow.json。盡管我們只是使用本地模擬器,但保護你的密鑰是個好做法。

現在可以發送交易,簡單的運行這個命令:

flow transactions send --code ./transactions/MintPinataParty.cdc --signer emulator-account在flow.json中引用編寫的交易代碼文件和簽名賬戶。如果一切順利,你應該看到這樣的輸出:

NFT發行和交易平臺XCAD Network宣布XCAD DEX v1正式上線:1月1日消息,NFT發行和交易平臺XCAD Network宣布XCAD DEX v1正式上線,支持其他 ZRC2 資產,而不僅僅是粉絲代幣。[2022/1/1 8:18:43]

Getting information for account with address 0xf8d6e0586b0a20c7 ...Submitting transaction with ID 4a79102747a450f65b6aab06a77161af196c3f7151b2400b3b3d09ade3b69823 ...Successfully submitted transaction with ID 4a79102747a450f65b6aab06a77161af196c3f7151b2400b3b3d09ade3b69823最后,驗證 token 是否在我們的賬戶中,并獲取元數據。做到這一點,我們要寫一個非常簡單的腳本,并從命令行調用它。

在項目根目錄,創建一個名為 scripts的新文件夾。在里面,創建一個名為CheckTokenMetadata.cdc的文件。在該文件中,添加以下內容:

import PinataPartyContract from 0xf8d6e0586b0a20c7pub fun main() : {String : String} {    let nftOwner = getAccount(0xf8d6e0586b0a20c7)    // log("NFT Owner")    let capability = nftOwner.getCapability<&{PinataPartyContract.NFTReceiver}>(/public/NFTReceiver)    let receiverRef = capability.borrow()        ?? panic("Could not borrow the receiver reference")    return receiverRef.getMetadata(id: 1。這個腳本可以被認為是類似于以太坊智能合約上調用只讀方法。它們是免費的,只返回合約中的數據。

在腳本中,導入部署的合約地址。然后定義一個 main函數(這是腳本運行所需的函數名)。在這個函數里面,我們定義了三個變量:

nftOwner:擁有 NFT 的賬戶。由于使用部署了合約的賬戶中鑄造了 NFT,所以在我們的例子中,這兩個地址是一樣的。這一點不一定,要看你將來的合約設計。

capability:需要從部署的合約中 借用的能力(或功能)。請記住,這些能力是受訪問控制的,所以如果一個能力對試圖借用它的地址不可用,腳本就會失敗。我們正在從NFTReceiver資源中借用能力。

receiverRef:這個變量只是簡單地記錄我們的能力。

現在,我們可以調用(可用的)函數。在這種情況下,我們要確保相關地址確實已經收到了我們鑄造的 NFT,然后我們要查看與代幣相關的元數據。

讓我們運行的腳本,看看得到了什么。在命令行中運行以下內容:

flow scripts execute ./scripts/CheckTokenMetadata.cdc你應該會看到元數據輸出的類似這樣的輸出。

{"name": "The Big Swing", "swing_velocity": "29", "swing_angle": "45", "rating": "5", "uri": "ipfs://QmRZdc3mAMXpv6Akz9Ekp1y4vDSjazTx2dCQRkxVy1yUj6"}恭喜你!你成功創建了一個 Flow 智能合約,鑄造了一個代幣,并將元數據關聯到該代幣,并將該代幣的底層數字資產存儲在 IPFS 上。作為教程的第一部分,還算不錯。

接下來,我們有一個關于構建前端 React 應用的教程,通過獲取元數據和解析元數據,讓你顯示你的 NFT。

本翻譯由 Cell Network 贊助支持。

來源:

https://medium.com/pinata/how-to-create-nfts-like-nba-top-shot-with-flow-and-ipfs-701296944bf

參考資料

登鏈翻譯計劃: https://github.com/lbc-team/Pioneer

翻譯小組: https://learnblockchain.cn/people/412

Tiny 熊: https://learnblockchain.cn/people/15

正在進入狂熱: https://www.cnbc.com/2021/02/25/nfts-why-digital-art-and-sports-collectibles-are-suddenly-so-popular.html

CryptoKitties: https://www.cryptokitties.co/

Dapper Labs: https://www.dapperlabs.com/

Rarible: https://rarible.com/

OpenSea: https://opensea.io/

Foundation: https://foundation.app/

Sorare: https://sorare.com/

著手建立一個新的通用的,很適合NFT使用場景區塊鏈: https://medium.com/dapperlabs/introducing-flow-a-new-blockchain-from-the-creators-of-cryptokitties-d291282732f5

Flow: https://www.onflow.org/

NBA: https://www.nbatopshot.com/

寫了使用IPFS上保存標的資產來創建NFT: https://learnblockchain.cn/article/2247

責任問題: https://medium.com/pinata/who-is-responsible-for-nft-289"    src="https://img.jinse.com/3638511_image3.png"   >

譯文出自:登鏈翻譯計劃

譯者:翻譯小組

校對:Tiny 熊

Tags:BSPNBSNFTQUOBSP幣nbs幣發行量Fear NFTsQUOTH

SHIB
WEB:Web3 在未來幾年和幾十年的潛在用例

來源:Not Boring,下文由 DeFi 之道編譯Web3 的存在到底有什么意義?如果 Web3 最終能發展成為一個擁有大量用戶,以及一個新的、有價值的商業模式的重大創新.

1900/1/1 0:00:00
NFT:在軍事沖突期間 NFT項目已經在尋求重建烏克蘭

最近對烏克蘭的入侵讓世界陷入了一種充滿不確定性、動蕩和地緣風險的狀態。全球金融市場的動蕩給數百萬投資者造成了巨大的損失.

1900/1/1 0:00:00
NFT:NFT成交量在過去一周下降至6300萬美元,泡沫爆炸?

今年早些時候,NFT市場充滿資本與新興團隊。游戲公司、科技巨頭、時尚和運動鞋企業將NFT作為下一個大型科技產品,紛紛下注.

1900/1/1 0:00:00
PLE:細數那些“開掛”的加密藝術領袖:左手藝術右手NFT

加密藝術已初見崢嶸。盡管與筆尖紙張摩挲碰撞的傳統藝術相比,突破時間和空間限制的加密藝術的規模無異是小巫見大巫,但其成長速度卻不容小覷.

1900/1/1 0:00:00
NFT:NFT周刊|電子商務Shopify提供NFT業務 V神出演NFT系列劇

“NFT的Shopify”實際上就是Shopify。這家電子商務巨頭正在為市場提供NFT支持,NHL的超級明星Alexander Ovechkin也進入了NFT市場,Lollapalooza音樂.

1900/1/1 0:00:00
NFT:誰能帶領 NFT 走出 OpenSea?

如果把加密世界比喻為一枚硬幣的話,硬幣正面是比特幣這樣的數字貨幣,那反面便是承載非標準資產的 NFT.

1900/1/1 0:00:00
ads