Dapps
如何使用 Solidity 從圖像中製作 NFT?
在過去的幾天裡(在學習教程的同時)我製作了一個網路應用程序,我可以用顏色製作 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 所代表的資產。
這就是圖片進入……圖片的地方。
因此,要創建使用者的圖片,您需要:
- 將圖片上傳到某個地方(到網站或 IPFS)
- 在某處(到網站或 IPFS)上傳 JSON 文件,並
image
在步驟 1 中辨識圖片- 更新您的契約,以便在查詢 時
tokenURI(123)
,它將返回一個標識步驟 2 中的 JSON 文件的 URI對於第 1 步和第 2 步,您可以將 Web 應用程序與nft.storage 之類的服務集成。
PS 使用
data:
URI,您還可以在契約本身中儲存或生成 JSON 和/或圖像,但這可能實現起來更複雜,因此讓我們將此答案的範圍限制為上述更常用的方法。