
鑄造 NFT,亦即在區塊鏈上發行 ERC721 代幣的唯一實例,是以太坊 NFT 創建的核心步驟。ERC721 標準規範了獨特數位資產的創建、轉移與管理的相關規則及函數。透過合約鑄造 NFT,實質上是在以太坊區塊鏈上為指定錢包地址創建具有唯一識別的新代幣。本教學假定您已於測試網路成功部署智慧合約,並以 NFT 教學系列第一篇內容為基礎。在繼續學習後續實作之前,理解此概念至為重要。
OpenZeppelin 是業界公認安全的智慧合約開發函式庫,提供經過實戰驗證的主流代幣標準實作。開發者無需自行撰寫複雜合約,可直接繼承 OpenZeppelin 提供的 ERC20、ERC721 等標準實作並擴充所需功能。此作法可大幅降低安全風險與開發時程。本教學的 NFT 鑄造合約建議放於 contracts/MyNFT.sol,並繼承 ERC721URIStorage,支援儲存指向 NFT 原始資料的 token URI。合約內建計數器追蹤 token ID,確保每個鑄造的 NFT 皆具有獨一無二的識別。mintNFT 函數接收指定地址及 token URI,遞增 token 計數器,為接收方鑄造新 token 並綁定所選 URI,最後回傳新 token ID。
Hardhat 任務為開發流程帶來自動化及便利性。藉由任務檔案,可將部署與鑄造邏輯封裝為可重複、可測試的組件。tasks/nft.ts 應包含兩個主要任務:一個負責合約部署,一個負責 NFT 鑄造。deploy-contract 任務負責取得合約工廠並部署,回傳合約地址以利後續操作。mint-nft 任務接收 token URI 參數,於部署合約上執行鑄造,並指定 gas 限額確保執行順利。這些任務大幅簡化合約操作,同時為常用流程提供明確的指令列介面。
輔助函數為主要任務邏輯提供底層支援,實現常見操作的高效重複利用。contract.ts 用於依合約名稱、Hardhat 環境及錢包取得已部署的合約實例。env.ts 可安全讀取環境變數,若缺少關鍵變數則直接拋錯,以免因設定遺漏造成執行異常。provider.ts 支援透過多種 RPC 提供商連線以太坊網路,實現網路彈性切換。wallet.ts 則依據私鑰產生 Ethers 錢包實例,方便簽署及部署。這些輔助工具共同構成合約與區塊鏈互動的技術基礎。
完善測試能確保智慧合約在各種場景下均能安全且正確執行。單元測試聚焦於驗證合約功能,整合測試則檢驗任務與合約的交互。MyNFT 單元測試涵蓋鑄造相關的 Transfer 事件、token ID 回傳及遞增等邏輯,安全性測試則包含防止鑄造至零地址。整合測試則關注 Hardhat 任務能否順利執行並產出預期結果。測試輔助檔則支援合約部署與測試錢包取得等操作。這些測試為後續完整覆蓋邊界情境及潛在安全風險奠定基礎。
hardhat.config.ts 提供 Hardhat 開發環境的基礎設定,包括指定 Solidity 編譯器版本(0.8.6),並按需載入 dotenv 以管理環境變數。設定邏輯僅於非測試情境下導入 dotenv,可避免測試期間發生環境變數衝突。如此可透過環境變數安全管理私鑰及 API 密鑰等敏感資訊,降低硬編碼風險。設定檔同時引入自訂 NFT 任務,方便於 Hardhat 指令列直接呼叫。
完成任務檔設定後,可直接於指令列執行 NFT 相關操作。執行 hardhat 無參數時,將顯示包括自訂 deploy-contract、mint-nft 在內的所有可用任務及說明。如需查詢任務詳細參數及用法,可執行 hardhat help [task-name] 取得完整說明。指令列介面可高效管理 NFT 基礎設施,無須重複撰寫腳本。
透過測試可在主網部署前驗證合約及相關程式碼的正確性。執行 hardhat test 會自動搜尋並執行所有測試檔案,並詳細輸出結果。測試分組展示,單項通過則有勾選標記,涵蓋 Transfer 事件、token ID 分配與遞增、地址驗證及餘額追蹤等核心邏輯。所有測試通過即代表合約穩定可靠,能妥善處理邊界情境,為上線生產環境提供保障。
本教學為基於 Solidity、Ethers.js 及 Hardhat 的專業級 NFT 基礎架構建置提供完整指南。依上述步驟,您已建立涵蓋智慧合約開發、自動化任務、完善測試與規範設定的完整開發環境。OpenZeppelin 函式庫確保安全最佳實踐,Hardhat 結合 Waffle 測試框架完成功能驗證。輔助函數與任務抽象提升程式維護性,方便專案日後擴充。內建 ETH 餘額的本地測試網路為 NFT 合約開發迭代帶來安全高效的環境。此架構與方法可彈性延伸至更複雜的 NFT 需求、多合約體系及正式部署。
在 Etherscan 查詢合約地址,進入 Contract 分頁,找到 mint 函數,輸入參數並提交交易。確認並支付 gas 費後,即可完成NFT 鑄造。
鑄造 10,000 個 NFT 通常費用介於 5,000 美元至 100 萬美元之間,實際金額取決於區塊鏈及 gas 費。以太坊費用較高,Layer 2 方案則較低。批次鑄造可進一步降低成本。
現代工具令 NFT 鑄造變得非常容易。您可透過無程式碼平台或智慧合約在區塊鏈上創建並鑄造 NFT。只需錢包、gas 費及數位資產,無需複雜技術,數分鐘內即可完成。
多數區塊鏈上鑄造 NFT 需支付gas 費,但部分平台支援免 gas 鑄造或採用Layer 2方案,費用極低。特定平台及鏈上可實現免費鑄造。
您需備有足夠 gas 費的錢包、區塊鏈存取權限及合約地址。先部署或互動 NFT 合約、準備原始資料,再將如資產持有人地址、數量等參數連同鑄造交易送至合約。
直接合約鑄造需具備區塊鏈技術基礎,擁有更高自主權與較低費用。NFT 平台則提供友善介面與簡化流程,收取平台費用,客製彈性相對較低。










