Dapps

如何使用 Solidity 從圖像中製作 NFT?

  • December 16, 2021

在過去的幾天裡(在學習教程的同時)我製作了一個網路應用程序,我可以用顏色製作 NFT(例如#FFFFFF),所以我的問題是如果客戶可以將圖片上傳到我的網路應用程序,我將如何薄荷那張照片。

我到底在鑄造什麼,我會在哪裡儲存那張照片。

(我是初學者,所以放輕鬆)

你不會鑄造“圖片”。您鑄造了一個代幣,即您在契約中Transfer擁有一個新的(例如123 )的所有權,而不是您的使用者。這就是鑄造 NFT 的全部內容。tokenId``from``to

現在,如果您的(假設是 ERC-721)合約更進一步並實現了ERC721Metadata擴展,則可以tokenID通過tokenURI(tokenID). 因此,呼叫您的合約,例如tokenURI(123)將返回一個標識 JSON 文件的 URI,該文件在您的合約中提供有關令牌 123 的更多資訊。ERC-721 標準規定 JSON 文件應包含一個image欄位,即:

指向具有 mime 類型 image/* 的資源的 URI,表示此 NFT 所代表的資產。

這就是圖片進入……圖片的地方。

因此,要創建使用者的圖片,您需要:

  1. 將圖片上傳到某個地方(到網站或 IPFS)
  2. 在某處(到網站或 IPFS)上傳 JSON 文件,並image在步驟 1 中辨識圖片
  3. 更新您的契約,以便在查詢 時tokenURI(123),它將返回一個標識步驟 2 中的 JSON 文件的 URI

對於第 1 步和第 2 步,您可以將 Web 應用程序與nft.storage 之類的服務集成。

PS 使用data:URI,您還可以在契約本身中儲存或生成 JSON 和/或圖像,但這可能實現起來更複雜,因此讓我們將此答案的範圍限制為上述更常用的方法。

引用自:https://ethereum.stackexchange.com/questions/102929