發布 PRC-721 Token
Last updated
Last updated
在開始之前,您將需要準備以下內容:
Metamask錢包
擁有至少1個PSC
我們需要託管好NFT所對應的藝術作品,並創建一個元數據文件;為此,我們將使用IPFS--一個點對點文件存儲和共享的分佈式系統。按照IPFS文檔中的安裝指南下載並安裝基於你的操作系統的IPFS CLI。
以下是託管圖像和元數據文件的步驟:
創建IPFS repo。在終端窗口中輸入以下內容來初始化IPFS repo
啟動IPFS守護進程。打開一個單獨的終端窗口,輸入以下內容:
添加圖像到IPFS , 進入第一個終端窗口,將圖像添加到IPFS中(這裡是art.png)。
向IPFS添加JSON文件。創建一個JSON文件nft.json,並將其保存在與圖像相同的目錄中。 JSON文件格式:
現在添加JSON文件:
為了方便和安全,我們將使用0xcert/ethereum-erc721合約來創建我們的NFT合約。有了0xcert/ethereum-erc721,我們不需要寫整個ERC-721接口。相反,我們可以導入庫合約並使用它的函數。前往以太坊 Remix IDE,製作一個新的Solidity文件,例如 nft.sol, 將以下代碼粘貼到Solidity 文件中。
第1行:指定SPDX許可證類型,這是在Solidity ^0.6.8之後增加的。每當智能合約的源代碼向公眾開放時,這些許可證可以幫助解決/避免版權問題。如果你不想指定任何許可證類型,你可以使用一個特殊的值UNLICENSED,或者直接跳過整個註釋(它不會導致錯誤,只是一個警告)。
第2行: 聲明 Solidity 版本。
第4-5行:導入0xcert/ethereum-erc721合約。
第7行: 合約命名為newNFT,它繼承了NFTokenMetadata和Ownable合約。
第9-12行: 初始化構造函數並設置名稱及代幣符號。
第14行:聲明函數mint有三個參數,類型為地址的變量_to,存儲NFT代幣接收者的地址,類型為uint256的變量_tokenId,將保存代幣id,類型為字符串的變量_uri,將存儲JSON文件的URI。將mint聲明為外部函數,可以從其他智能合約和當前合約之外訪問。
第15行:使用接收方的地址和代幣ID來鑄造代幣。
第16行:使用代幣id和JSON文件的URI設置代幣URI。
編譯智能合約,並使用Injected Web3進行部署(編譯合約前一定要在Metamask上選擇Ropsten testnet)。批准來metamask的交易。
如果如果你在部署前收到一條錯誤消息:此合約可能是抽象的,請確保在合約選項卡下選擇適當的合約。在Metamask中確認交易。
現在進入Remix中的 Deployed Contracts(部署的合約) 部分,展開部署的合約。你會看到一堆函數/方法。展開mint函數並添加以下參數:
在_to中添加你的Ropsten地址。
在 _tokenid 中輸入任何數字值 (建議為1,因為它是第一個)。
在_uri字段中,添加上一節獲得的JSON文件的URI。
點擊交易,並從metamask確認交易。 (需要你已經有了Ropsten鏈上的ETH)
你可以通過輸入我們之前提到的token id來查看其他細節,如名稱、符號、所有者或tokenuri。
恭喜你创建了自己的NFT,帮助你的艺术家朋友把他们的艺术作品发布到以太坊区块链上,或者自己也成为一名艺术家。
複製從Qm開始的哈希值,並添加 https://ipfs.io/ipfs/前綴,它必須看起來像這樣。
複製從Qm開始的哈希值,並添加 https://ipfs.io/ipfs/前綴,它必須看起來像這樣, 保存這個網址。我們需要這個來鑄造NFT。 創建我們自己的代幣