NFT 必修課:如何使用 IPFS 建立 NFT 以及部署智慧合約?

買賣虛擬貨幣

多年來,數字藝術並未被認為是“真正的”藝術。繪畫、雕塑和裝置是“真正的”藝術,而數字藝術被視為“二流”藝術。然而,數字藝術家也花費了大量時間來建立他們的藝術和完善他們的技能,就像更多的“古典”藝術家一樣。

多年來,數字藝術和數字藝術家的作品並沒有得到應有的報酬。數字藝術家更像是自由職業者,從一場演出到另一場演出,總是很難從他們的數字藝術中賺到更多的錢。

原因是很難讓數字藝術獨一無二。數字藝術一旦被創造出來,就很容易在網際網路上被複制數千次,而且很難追蹤這些副本並區分哪一個是原始的。

在古典繪畫中,我知道薩爾瓦多·達利(Salvador Dalli)的《記憶的永恆》上有成千上萬張照片,但原始實物繪畫是某人所有的(在這種情況下,它在紐約現代藝術博物館)。

儘管我可以多次複製/貼上此影象,但原始影象始終具有價值,因為很容易證明原始影象的所有權。原件被物理鎖在博物館裡

我們如何將數字藝術變成獨一無二的東西?

那便是今天的主角——NFT。

NFT 是具有不可替代性的代幣,這意味著每個代幣都是獨一無二且不可替代的。他們通常使用以太坊 ERC-721標準,該標準於 2018 年 1 月在以太坊網路中引入並徹底改變了整個行業。

如果你想了解如何建立和鑄造數字 NFT,讓我們開始吧!

使用 IPFS 鑄造、儲存 NFT 資產

讓我們將 NFT 建立分解為兩個部分。首先,有處理 NFT 的鑄造和儲存的區塊鏈。區塊鏈透過在全球數千臺計算機/節點上覆制它,來確保 NFT 的後設資料是不可變的和安全的。然而,區塊鏈無法處理儲存大量資料,因為在這數千個節點之間複製大量資料變得極其昂貴。這就是第二部分:儲存 NFT 資料。

在以太坊區塊鏈上儲存影象可能會花費數萬美元。出於這個原因,大多數 NFT 資料需要儲存在鏈外,我們也需要保護這些資料。

我們可以透過 IPFS——星際檔案系統,一種用於共享和儲存檔案的點對點協議來解決這個問題。IPFS 使用內容定址來唯一標識全域性名稱空間中的每個檔案,這對於我們的 NFT 將 NFT 後設資料連結到資產或藝術品的儲存位置很重要。與 Dropbox 或 Google Drive 等集中式服務相比,IPFS 可以被視為具有資料固定的更永續性。

建立 NFT 時,我們需要使用引用資產的 URL 連結。此 URL 將包含在 NFT 的後設資料中。正如您現在所知,NFT 資料是不可變的,它將永遠存在於區塊鏈中,因此為與 NFT 相關的資產或影象找到一個合適的家也很重要。

Pinata 是著名的 IPFS 服務之一:pinata.cloud

IPFS 使用稱為 CID 的內容識別符號,它將內容作為雜湊引用。這些 CID 是 URL 的一部分,如果內容沒有改變,URL 也不會改變。某個 CID 和相應 URL 後面的影象將始終是相同的影象,這使我們對鏈下儲存的 NFT 資料具有一定程度的不變性。

在“逐步鑄造”部分中,我們將看到如何使用 Pinata 建立 IFPS CID/URL 並將其與我們將要鑄造的 NFT 相關聯。

鑄造NFT

步驟 0 — 資產的所有權

在建立 NFT 之前,您需要確保您是要代幣化的資產/藝術品的建立者或所有者。你必須有辦法證明你是所有者或創造者。

步驟 1 — 準備資產

確保您擁有該影象的檔案。您可以簡單地對 JPEG/PNG 進行標記,但最好也有原始檔或高質量的檔案。如果您處理的是數字藝術,TIFF、AI/EPS 也可以在銷售過程中共享。

第 2 步 — 選擇市場並進行身份驗證

現在我們需要鑄造 NFT 代幣。當您想出售代幣時,可以直接在 OpenSea 市場上鑄造它,或者您可以先在 Rarible 上鑄造它,因為在 Rarible 上,您可以鑄造代幣而無需實際出售它。由你來決定。

在這一步一步中,我假設你已經安裝了 Metamask 瀏覽器外掛,並且有一些 ETH 用於手續費。

在 OpenSea 上,單擊建立並連線您的 Metamask 錢包(檢查錢包部分)。單擊 Metamask 圖示登入到您的 Metamask 錢包,然後單擊連線。之後你還需要 Ether 在鑄造過程中向網路支付交易費用,但現在你不需要花錢。

連線您的錢包後,您將使用您的公鑰在網站上進行身份驗證和識別。這類似於您使用 Google 或 Facebook 身份登入(也稱為 SAML/SSO — 單點登入)。

第 3 步 — 透過上傳檔案開始建立 NFT

要建立新專案,請繼續並單擊建立。您必須建立一個集合,並且您的 NFT 可以成為集合的一部分。以後可以製作更多的收藏品——例如,2D 收藏品、3D 收藏品等。

建立集合後,您可以向集合中“新增新專案”。點選“新增新專案”。您將能夠上傳檔案,並且您會發現多種可用格式:PNG、GIF、WEBP、MP4、MP3 等等。您可以在此處選擇並上傳您的檔案。

步驟 4 — 建立 IPFS 連結

重要的是要強調影象本身並沒有儲存在區塊鏈上。儲存在區塊鏈上的只是關於影象的後設資料,即檔案的雜湊值、名稱、時間戳和指向檔案儲存位置的連結。區塊鏈不適合儲存大檔案,而且檔案總是需要儲存在其他地方。對於 OpenSea,他們將負責儲存影象。

如果您希望買家收到高解析度檔案或原始檔,您也可以將此檔案儲存在儲存服務(IPFS、Google Drive、S3 或 Dropbox)中,並在“可解鎖內容”欄位中共享檔案連結. 購買完成後,此檔案將與買家共享。

為了讓事情更加去中心化並保持區塊鏈精神,我們不要使用像 Google Drive 或 Dropbox 這樣的集中式儲存服務,而是使用 IPFS——星際檔案系統。IPFS 不是區塊鏈,而是一個分散式點對點檔案系統(類似於 BitTorrent),允許我們儲存和共享檔案。

使用 UPFS 的最簡單方法是 Pinata。如果您尚未註冊,請轉到 Pinata.cloud 並註冊。擁有 Pinata 帳戶後,轉到儀表板,然後單擊上傳。選擇檔案並上傳。

檔案上傳後,您將找到一個 CID 雜湊(內容識別符號),類似於 Qma4Jse7V6tZ7k3756iPv39tsMG6DhxUQrc42cKoAVVsbR。

這是將連結到影象的雜湊值。同時複製影象的連結,返回 OpenSea 網站,並將其貼上到“可解鎖內容”欄位中。該連結應如下所示:

https://gateway.pinata.cloud/ipfs/Qma4Jse7V6tZ7k3756iPv39tsMG6DhxUQrc42cKoAVVsbR

步驟 5 — NFT 屬性

完成附加屬性和標籤。

最後點選建立。

您現在已經在 OpenSea 網站上建立了資產,但它仍未上市出售。

步驟 — 6 出售 NFT

轉到您的商品頁面,然後單擊“出售”。

您還可以設定“設定價格”。這類似於 Ebay 的“立即購買”,它是您願意立即出售您的商品的價格。價格可以用不同的加密貨幣列出,但最常見的是以太幣(ETH,以太坊的原生貨幣)。

您也可以選擇“最高出價”。這是拍賣選項,在此選項中,您可以選擇最低出價、底價和拍賣截止日期。

最後,點選“釋出您的列表”。

單擊後,按照步驟鑄造令牌。您的 Metamask 視窗將提示(如果沒有,您需要單擊 Metamask 圖示)並單擊符號。OpenSea 不收取任何費用,但是每當您建立新的 NFT 時,您都會將資料寫入區塊鏈,並且您將產生 gas 費用(即以太坊網路的費用)。

單擊“批准”後,它會提示您的 Metamask 錢包,以便您支付費用。在您的 Metamask 錢包上,您可以單擊“編輯”來編輯費用並選擇慢速或快速。慢意味著您將支付更少的gas費用,但交易可能需要更長的時間才能在區塊鏈中結算(通常不到1小時)。

考慮到以太坊可能會擁堵,鑄造新 NFT 的成本有時可能會很高,但未來可能會降低。

這樣你的 NFT 現已上市,人們將能夠競標或購買。

使用 IPFS 建立 NFT 的智慧合約

如果你對程式碼非常感興趣並想部署自己的 ERC-721 智慧合約,那麼你需要完成以下幾個重要步驟:

1、獲取一些測試ETH(教學將在Ropsten測試網)

2、下載 IPFS

3、將你的作品上傳到 IPFS

4、開啟 Ethereum Remix 並建立智慧合約

5、部署智慧合約

6、鑄造 NTF

獲取ETH測試幣

首先,使用 Metamask(小狐狸錢包),將你的錢包網路切換到 Ropsten 測試網。

然後開啟 Ropsten 水龍頭網站: https://faucet.ropsten.be/  ,將你的錢包地址複製到水龍頭並獲取一些測試以太幣。我們將需要它來支付智慧合約的gas費用。

下載 IPFS 並上傳您的藝術作品檔案

大多數 NFT 資料需要儲存在鏈外,我們需要保護這些資料。

我們可以透過 IPFS——星際檔案系統,一種用於共享和儲存檔案的點對點協議來解決這個問題。IPFS 使用內容定址來唯一標識全域性名稱空間中的每個檔案,這對於我們的 NFT 將 NFT 後設資料連結到資產或藝術品的儲存位置很重要。因此,與 Dropbox 或 Google Drive 等集中式服務相比,IPFS 可以被視為具有資料固定的更永續性。

我們將使用 IPFS 來儲存我們的 NFT 檔案。前往 IPFS 網站並在您的桌上型電腦/膝上型電腦上安裝 IPFS。安裝後,執行它。恭喜,您現在是一個 IPFS 節點!

IPFS 官網:https://docs.ipfs.io/install/ipfs-desktop/#windows

單擊檔案並上傳您的藝術品!

上傳後,您將可以訪問可共享的連結,將連結複製儲存下來。

開啟 Ethereum Remix 並建立智慧合約

現在,我們轉到 Ethereum Remix IDE 並建立一個新的 Solidity 檔案,例如“erc721.sol”。我們將使用 Ethereum Remix 並使用0xcert/ethereum-erc721合約來建立我們的 NFT 智慧合約。

(Ethereum Remix 是一個開源 Web 應用程式,允許您開發、編譯和部署智慧合約。)

將以下指令碼複製/貼上到新建立的 .sol 檔案中:

// SPDX-License-Identifier: MIT
pragma solidity 0.8.6;
匯入“ https://github.com/0xcert/ethereum-erc721/src/contracts/tokens/nf-token-metadata.sol ”;
匯入“ https://github.com/0xcert/ethereum-erc721/src/contracts/ownership/ownable.sol ”;


合約 newNFT 是 NFTokenMetadata, Ownable {
 constructor() {
   nftName = "Synth NFT";
   nftSymbol = "SYN";
 }


 function mint(address _to, uint256 _tokenId, string calldata _uri) external onlyOwner {
   super._mint(_to, _tokenId);
   super._setTokenUri(_tokenId, _uri);
 }
}

然後你需要去編譯它,以下圖所示:

一旦智慧合約編譯完成,就可以部署它了!

使用 Inject Web3 部署智慧合約並確保它已連線到您的 Metamask 的 Ropsten 測試網。

單擊部署後,它會提示您的 Metamask 確認合約部署。

單擊確認繼續並部署合同。在這種情況下,我們在測試 Ether 中支付我們的 gas 費用,但如果你使用的是以太坊網路,您將不得不向礦工支付實際費用。

恭喜!您的智慧合約現已部署!你甚至可以去以太坊瀏覽器檢查你的新智慧合約!

鑄造NFT

現在轉到 Deployed Contracts 部分並展開你的智慧合約。

此外,擴充套件 mint 函式並新增以下詳細資訊:

  1. 在 _to 欄位中新增您的 Ropsten 地址

  2. 在 _tokenid 欄位中輸入任何數字值(最好是幾位數字)

  3. 將您的 IPFS URL 新增到我們在 IPFS 部分獲得的 _uri 欄位

最後,點選交易並在 Metamask 上確認您的交易!

好極了!!!你的 NFT 是鑄造的!您可以使用新的智慧合約鑄造任意數量的 NFT!

要檢查您是否真的鑄造了 NFT,您可以在 Remix 上檢視它,或者透過單擊 Metamask 來檢查交易,或者開啟以太坊瀏覽器(Etherscan)檢視: https://ropsten.etherscan.io/

恭喜!你已經從頭開始建立了自己的 NFT 智慧合約和 NFT !您現在可以將其傳送給朋友或者去以太坊主網實戰,並以一百萬美元的價格出售它!

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读