在 Ethereum 上部署 NFT 專案要花多少錢?
作者 Albert Hu
長話短說,答案是:看情況。

2021 年 Ether 的價格飆漲……gas 費也跟著飆漲!
如果你是第一次踏入 Web3 development,正在研究 Solidity 程式語言、Ethereum 智慧合約、以及製作 NFT……
- 歡迎!接下來你會經歷一場精彩的旅程……
- 請務必搞懂 gas 費和交易手續費是怎麼運作的!
以前……部署去中心化應用程式相對來說是負擔得起的。
- 2017 年,CryptoPunks NFT 專案的部署成本是 $7.56(來源)
- 2020 年,Shiba Inu Token($SHIB)的部署成本是 $60(來源)
而今天——2021 年 11 月 30 日——部署完全相同的合約會讓你付出慘痛代價 :(
- CryptoPunks 現在要花 $964
- $SHIB 現在要花 $2,026
也就是說,以美元計算,現在把合約部署到 Ethereum 上的成本,比幾年前貴了 30 倍到 120 倍不等。

問題來了……為什麼?
其實,最終會影響你部署成本的因素有三個:
- 部署合約的交易所消耗的 gas 單位數
- 依當前流量狀況與網路壅塞程度決定的每單位 gas 價格
- 依市場行情決定的 Ether(ETH)價值
這三個因素會組成一個非常簡單的公式:
總成本 = 單位數 價格 價值
我們先來看 2017 年 CryptoPunks 合約部署這個例子。從 Etherscan 上的交易資訊可以看到:
- gas 單位數 = 2,142,276 gas
- 每單位 gas 價格 = 0.000000011 ETH(即 11 gwei)
- ETH 價值 = 每顆 ETH $320.97
總成本 = 2,142,276 0.000000011 320.97
總成本 = $7.56
那如果我們今天,也就是 2021 年,試著部署同一份 CryptoPunks 合約,會有什麼變化呢?
- gas 單位數沒有變——gas 單位數量取決於智慧合約中的邏輯,而這份合約跟 4 年前是一模一樣的。
- 每單位 gas 的價格上升了——Ethereum 已成為交易非常熱門的區塊鏈,流量越大,由於 gas 競價機制,單位 gas 以 ETH 計算的成本就越高。這是因為使用者會不斷提高交易中附帶的 gas 費,以誘使礦工優先納入自己的交易。
- ETH 的價值也上升了——隨著時間推移,越來越多投資人與關注度,代表對這種加密貨幣的需求也越來越大。
現在每單位 gas 的平均價格大約在 0.0000001 ETH ~ 0.00000015 ETH(100~150 gwei)之間,而 ETH 的平均價值大約落在 $4,000 ~ $4,500 之間。
那麼今天部署 CryptoPunks 合約的計算會是怎樣的呢?
- gas 單位數 = 2,142,276 gas
- 每單位 gas 價格 = 0.0000001 ETH(即 100 gwei)
- ETH 價值 = 每顆 ETH $4,500
總成本 = 2,142,276 0.0000001 4,500 = $964
自己動手試試看!到 Etherscan 上查你最喜歡的 NFT 合約,找出交易手續費的這三個組成部分,並驗證最終成本。你今天看到的是什麼價格?把你的範例發推到 @thatguyintech,我很樂意幫你轉發 :)
你現在可能會想:「既然這麼貴,為什麼大家還要在 Ethereum 上開發?」
這是個好問題。原因有三個:
- 去中心化。Ethereum 是目前最去中心化的智慧合約平台。根據 ethernodes.org 的資料,目前有超過 3000 個節點在運行這個網路。其他智慧合約平台的節點或驗證者數量都少很多。網路越去中心化,就越難被審查、控制、操縱或關閉。這些保障通常是嚴肅的金融應用所必需的。
- 開發者生態系。它擁有最龐大的開發者生態系與最成熟的工具鏈。根據 Electric Capital 的資料,Ethereum 每月有超過 2400 位活躍開發者,且持續增加中。Ethereum 是最古老的智慧合約平台,在建構可用應用程式與可組合工具方面,享有最強的網路效應。
- 市場。Ethereum 擁有最大的應用程式市場(最多的使用者與資金)。目前使用量最大、最常被使用的 DeFi 協定與 NFT 交易市場都建構在 Ethereum 上。
不過,即使有這些優勢,也不代表 Ethereum 就一定是你的專案最好的選擇。也許你只是想稍微摸索、學習一下,那部署到 Ethereum mainnet 的成本可能完全沒有意義。又或者你鎖定的是某個特定的使用情境,重視速度與效率勝過去中心化的保障。無論原因是什麼,你都有很多理由可以考慮其他選項。以下提供幾個替代方案讓你入門……
如果你想留在 Ethereum 生態系裡,可以看看 sidechain 和 layer 2(L2):

使用 sidechain 或 Ethereum layer 2 解決方案的好處是,你可以使用類似的工具,而記錄交易與確保 DApp 安全的底層安全機制維持不變。你也能享受大幅降低的交易成本與更快的速度。代價則是使用者與開發者的體驗目前可能還不夠成熟。
如果你想走得更遠,探索使用不同程式語言與不同系統架構的其他區塊鏈,可以考慮這些其他的 layer 1(L1):
最後,如果你在意部署成本,但仍然想部署到 Ethereum mainnet 上,可以試著優化你的 solidity 程式碼,減少不必要的邏輯。gas 費的目的是支付礦工執行你程式邏輯的成本。邏輯越簡單,部署與執行你的合約就越便宜。
這裡有一篇很棒的文章,談到如何優化 Ethereum NFT 智慧合約以降低 gas。
如果你覺得這篇說明有幫助,歡迎在推特上 @Alchemy!我們很樂意看看你正在打造什麼專案,並為你的專案加點聲量 :)

相關總覽

打造區塊鏈魔法
Alchemy 結合最強大的 Web3 開發者產品與工具,並提供資源、社群與卓越的支援。


