Truffle Polygon NFT 教程。

胡家維 Hu Kenneth
My blockchain development Journey
7 min readApr 10, 2022

source : https://coinsbench.com/truffle-polygon-nft-tutorial-159fea28b960 by Sandnc.eth

如今,NFT 風靡一時。作為一名愛好智能合約的開發人員,我想了解如何設置 NFT 項目並將其部署到 Polygon 的孟買測試網。多虧了一個艱苦的工作週(半導體 IC 測試),我花了比我預期的更長的時間來完成整個項目。

我從頭開始,對 Javascript 的經驗很少。在閱讀了一些關於“async/await”功能的快速教程和關於如何設置智能合約項目的 Truffle 文檔之後。我能夠取得良好的進展。

我希望這篇文章對任何嘗試開始使用 NFT 且幾乎沒有智能合約開發經驗的人有用。我們將使用 Openzeppelin 的 ERC721 合約來簡化流程。歡迎您在以下鏈接中詳細查看他們的合同:

有了這個,拿一杯新鮮的咖啡或你喜歡的飲料,讓我們開始吧!

您將在 Polygon 的測試網(孟買)上部署和鑄造 NFT。

您將學習如何編譯、遷移、驗證、鑄造 NFT 並在 Opensea 的測試網上查看它們。

我已在自述文件中包含所有相關鏈接供您參考。我已經設置了“truffle-config.polygon.js”,所以你不必花時間設置配置。

步驟 1:克隆 repo。

git clone https://github.com/cryptonomicon46/PolyDeployNFT.git

步驟2:安裝所有依賴項:

npm install

第 3 步:使用您的 Infura 項目 ID 更新 .env 文件(請參閱 .env_sample 文件)。
確保將 Poygon Mumbai/Mainnet 添加到您的項目 ID。 您可能需要為此步驟提供您的抄送信息。

Step5:上傳IPFS桌面的images文件夾和json文件夾。

IPFS Desktop installation link: https://docs.ipfs.io/install/command-line/#official-distributions

記下“images”和“json”文件夾的 CID。

Opensea 使用“.json”來了解圖像位置、屬性、描述等。屬性越稀有,您的 NFT 就越有價值。

您需要更新每個“.json”文件的內部結構以指向圖像鏈接。

例如:使用圖像文件夾的 CID 更新“*****”後,“json/1.json”將如下所示。

“image”: “https://ipfs.io/ipfs/************/1.png",

然後還更新圖像元數據鏈接的“.env”文件。

通過插入“***”中的信息,基於“.env_sample”文件創建“.env”文件。

您還需要在“.env”文件中提供您的 Metamask 私鑰,該文件將在配置文件中引用。

確保在“.gitignore”中列出“.env”文件,這樣您就不會將您的私人信息提交到 github。

.env filePROJECT_ID = “***************************”MNEMONIC = “******************************”IPFS_IMAGE_METADATA_CID= “https://ipfs.io/ipfs/**********************/"NFT_MINT_DATE=”March 12, 2022 22:00:00"P_API_KEY = “**********”PROJECT_NAME=”YourPunk”PROJECT_SYMBOL=”YP”MINT_COST=0MAX_SUPPLY=12

如果你已經走到這一步,恭喜:)。 休息一下,充電,然後讓我們繼續部署合約。

確保您已安裝“matic.js”庫。

npm install @maticnetwork/maticjs — save

(https://maticnetwork.github.io/matic.js/docs/get-started/)

編譯你的項目:

truffle compile — config truffle-config.polygon.js -all

它應該無錯誤地編譯。

(如果你覺得很勇敢,請在“tests/MotoPunks.tests.js”中運行測試。為簡潔起見,我不會在本文中介紹測試。但請務必在部署之前測試你的合約。)

現在您已準備好在 Polygon 測試網上部署您的智能合約。

truffle migrate — config truffle-config.polygon.js — network polygon_infura_testnet compile -all

遷移成功後,請驗證智能合約。

truffle run verify MotoPunks — network polygon_infura_testnet — config truffle-config.polygon.js

驗證成功後,您將獲得“mumbai.polyscan.com”上已驗證聯繫人的鏈接。

例如:https://mumbai.polygonscan.com/address/0xa8F466fAFb12EcfE78e122EC8F7E4669d0Aa8C08#code

我們快到了終點線:)。

單擊該鏈接並在 polyscan 上查看您的智能合約。

將您的 Metamask 錢包連接到 web3,然後鑄造 1 個或更多 NFT(最大數量 = 12),確保您在“Polygon”網絡上。

如果您需要使用 MATIC 為您的賬戶充值,請在水龍頭處進行。

點擊“write”。 然後,您將被引導至 etherscan 交易。 等到它成功。

一旦你的交易在 polyscan 上成功,你就可以前往 Opensea 測試網,通過在下面的鏈接中插入你的智能合約地址來查看新鑄造的 NFT 以獲得“*****”。

https://testnets.opensea.io/assets/mumbai/*********/

Valentino Rossi (Token11)

如果您有多個帳戶,請隨時將 NFT 從一個帳戶轉移到另一個帳戶或使用 ERC721 功能。

恭喜你已經走了很長一段路。 乾杯並祝您在未來的 web3 努力中一切順利:)!

--

--

胡家維 Hu Kenneth
My blockchain development Journey

撰寫任何事情,O型水瓶混魔羯,咖啡愛好者,Full stack/blockchain Web3 developer,Founder of Blockchain&Dapps meetup ,Udemy teacher。 My Linktree: https://linktr.ee/kennethhutw