跳至主要內容

3 個步驟建立 ERC20 代幣並進行部署

更新於
2026年1月15日

閱讀時間 10 分鐘

概覽

ERC20 代幣是以太坊生態系統的基石,為去中心化金融(DeFi)協議、去中心化自治組織(DAO)、忠誠度系統等提供動力。但這些代幣並非一直都遵循標準。在以太坊早期,代幣的創建缺乏統一標準,導致錢包和應用程式難以與每種新代幣進行整合。為了解決這個問題,社群推出了ERC20 標準,為代幣開發帶來了一致性與互通性。

在本指南中,我們將逐步說明如何撰寫符合 ERC20 標準的智慧合約,並使用Remix 進行編譯與部署,內容包含分步說明及最佳實務建議——且不會涉及不必要的細節。

想看影片教學嗎?跟著 Radek 一起學習,15 分鐘內就能學會如何建立並發行 ERC20 代幣。
訂閱我們的 YouTube 頻道,觀看更多影片!

您將負責的工作內容


  • 了解 ERC-20 代幣及其應用場景
  • 使用 Remix.IDE 建立並部署 ERC-20 代幣

您需要準備的物品


  • 一個 Web3 錢包(例如 MetaMask、Coinbase Wallet、Phantom 或相容於 WalletConnect 的錢包)
  • 測試用 ETH(您可以在Multi-Chain Quicknode 水龍頭領取一些)
  • 一款現代化的網路瀏覽器(例如 Chrome 或 Brave)
  • 一個免費的 Quicknode 帳戶,供產品上線後的建置使用
想超越「混音」的範疇嗎?

在本指南中,我們為了簡化流程,採用 Remix IDE,並透過瀏覽器端開發來加快開發與測試速度。若您準備好提升技能,不妨參考我們使用 Foundry 和 Hardhat 等現代框架所製作的進階部署教學:

什麼是 ERC-20 代幣?

ERC 代表「以太坊意見徵求」(Ethereum Request for Comment),而 20 則是該提案的識別編號。ERC-20 的設計目的是為了改善以太坊網路。

ERC-20是最重要的 ERC 標準之一。它已成為在以太坊區塊鏈網路上記錄智慧合約的技術標準,並用於代幣的實作。ERC-20 包含一套規則,所有基於以太坊的代幣都必須遵循這些規則。

ERC-20 將代幣定義為基於區塊鏈的資產,這些資產可以進行轉帳與接收,並且具有價值。ERC-20 代幣在許多方面與比特幣和萊特幣相似。然而,最顯著的差異在於:ERC-20 代幣並非運行於自身的區塊鏈網路,而是運行於以太坊的區塊鏈網路,並使用「gas」作為交易手續費。

在 ERC-20 出現之前,每位創建代幣的人都必須「從頭開始發明輪子」,這意味著所有代幣彼此之間都不盡相同。舉例來說,如果開發者想與另一種代幣進行整合,由於當時缺乏任何關於建立新代幣的特定結構或指引,他們就必須徹底理解該代幣的整個智慧合約程式碼。

這對錢包和交易所平台來說尤其棘手——要新增不同類型的代幣,開發人員必須逐一檢視每種代幣的程式碼並加以理解,才能在平台上處理這些代幣。毋庸置疑,要在任何應用程式中新增代幣都相當困難。

如今,錢包和交易所採用 ERC-20 標準,將各種標準化代幣整合至其平台上,並促進 ERC-20 代幣與其他代幣之間的便捷兌換。ERC-20 代幣標準使得代幣之間的互動幾乎無縫且輕鬆自如。

關於 ERC-20 代幣的重點

標準化功能:ERC-20 代幣遵循一套特定的標準,這意味著它們具有一套共通的規則與功能。這包括代幣的轉移方式、交易的核准流程、使用者如何存取代幣相關資料,以及代幣的總供應量。

智慧合約與去中心化金融(DeFi):在 ERC-20 代幣中運用智慧合約,能夠實現複雜金融操作的自動化與強制執行。這對 DeFi 平台至關重要,因為這些代幣可代表各種金融工具,例如貸款或流動性池中的持倉。

互通性:由於 ERC-20 代幣遵循相同的標準,因此它們易於互換,並能與以太坊網路上的其他符合 ERC-20 標準的代幣及應用程式無縫整合。這種標準化簡化了創建新代幣的流程,並使其能立即與現有的錢包、交易所及其他服務相容。

應用案例:ERC-20 代幣可代表各種資產或實用功能。例如,ERC-20 代幣可發揮多種作用,包括作為貸款的抵押品、收益耕作中的生息資產,以及在去中心化自治組織(DAO)中賦予投票權的治理代幣。

可轉讓性與交易:這些代幣可作為支付手段從一個帳戶轉移至另一個帳戶,類似於比特幣等加密貨幣,並可在各類加密貨幣交易所進行交易。

ERC-20 是一套用於創建新代幣的標準或指引。該標準定義了智慧合約應實現的六項必備功能,以及三項可選功能。

以下列出必選功能及其說明。


  • totalSupply:一個用於定義代幣總供應量的方法;當達到此上限時,智慧合約將拒絕創建新的代幣。
  • balanceOf:一個會傳回錢包地址所持有代幣數量的方法。
  • 轉帳:一種從總供應量中提取一定數量的代幣,並將其分配給使用者的方法。
  • transferFrom:另一種用於在用戶之間轉移代幣的轉帳方法。
  • approve:此方法會根據總供應量,驗證智慧合約是否被允許將一定數量的代幣分配給某位使用者。
  • 配額:此方法與「已核准」方法完全相同,唯一的區別在於它會檢查某位使用者是否擁有足夠的餘額,以將一定數量的代幣傳送給另一位使用者。

除了以下列出的必備功能外,其餘功能雖屬選用,但能提升該代幣的實用性。


  • name:一個會傳回代幣名稱的方法。
  • symbol:一個會傳回該標記的符號的方法。
  • 小數: 一個回傳代幣所使用小數位數的方法。此方法用於定義代幣的最小單位。例如,若一個 ERC-20 代幣的 小數 數值為 6,這表示該標記可細分為多達六位小數。

如果你熟悉物件導向程式設計,可以將 ERC-20 比作一個介面。如果你希望你的代幣成為 ERC-20 代幣,就必須實作 ERC-20 介面,而這會迫使你實作這 6 個方法。

如何創建 ERC-20 代幣

既然我們已經了解什麼是 ERC-20 代幣以及它們如何運作,接下來就來看看該如何建立並部署我們自己的代幣。

本指南將使用以太坊 Sepolia測試網,因為它速度快、免費且廣受支援。 但無論您是要部署到測試網,還是像 Arbitrum、Base 或 Avalanche 這樣的主網,這些步驟都適用於任何與 EVM 相容的區塊鏈。

步驟 1:取得測試用 ETH

若要開始在以太坊 Sepolia 測試網部署您的合約,您需要取得一些測試用 ETH。操作步驟如下:


  • 如果您還沒有錢包,請安裝MetaMask瀏覽器擴充功能,或使用其他相容於 web3 的錢包,例如RabbyPhantom
  • 前往Quicknode 以太坊 Sepolia 水龍頭
  • 請連接您的錢包或輸入錢包地址,然後繼續。您將有機會透過分享推文來獲得額外獎勵。若您選擇不分享,只需點選「不用了,直接寄給我 0.05 ETH」選項,即可領取您的測試用 ETH。

注意:您必須在以太坊主網帳戶中至少持有 0.001 ETH,才有資格使用該水龍頭。

Quicknode 多水龍頭鏈

步驟 2:為您的代幣編寫智慧合約

目前已有眾多由不同團體開發、符合 ERC20 標準的代幣在以太坊區塊鏈上運作。這些實作方式各不相同,有些著重於降低 gas 費用,有些則優先考量強化安全性。

為了實現穩健且安全的實作,許多開發者選擇採用 OpenZeppelin 的 ERC20 代幣標準。OpenZeppelin 提供了一套經過充分測試且經社群審計的可重複使用智慧合約函式庫,其中包含一套可靠且安全的 ERC20 代幣框架,因此成為確保代幣開發合規性與安全性的首選方案。

為了方便與安全性,我們將使用OpenZeppelinERC-20合約來建立我們的代幣。透過 OpenZeppelin,我們無需自行編寫完整的 ERC-20 介面,而是可以導入該函式庫合約並使用其中的函式。

請前往Ethereum RemixIDE,並建立一個新的 Solidity 檔案,例如:MyToken.sol

請將以下程式碼貼到您的新 Solidity 腳本中:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract MyToken is ERC20 {
constructor() ERC20("MyToken", "MT") {
_mint(msg.sender, 1000000 * (10 ** uint256(decimals())));
}
}

上述程式碼的說明:


  • 「SPDX-License-Identifier」註解指定了合約所依據的授權條款。
  • pragma 此指令指定要使用的編譯器版本。
  • ERC20 從 OpenZeppelin 導入的合約被用作基礎。
  • MyToken 這是您的合約名稱,且該合約是基於 ERC20 合約所擴展而來。
  • 建構函式 此函式會以名稱 ("MyToken") 以及一個符號 ("MTK")。
  • _mint 建構函式中的函式會鑄造初始的代幣供應量。在此範例中,共鑄造 100 萬枚代幣,並分配給部署合約的地址。代幣數量會透過 小數 此數值的預設值在 OpenZeppelin 的實作中為 18。

由於我們導入了 ERC20 來自 OpenZeppelin 的智慧合約以及該 MyToken contract 繼承了 ERC20 根據合約,無需定義所有函式。所有在 ERC20 合約內容被匯入至 MyToken 合約。若您想查看更詳盡的完整 ERC-20 程式碼,請參閱該檔案 這裡

現在,如果您願意,請花一分鐘時間根據您的實際情況自訂這個智慧合約。您可以透過修改以下部分來更新代幣名稱和代幣符號—— ERC20("MyToken", "MT").

您的 ERC20 代幣需要具備升級功能嗎?

請參閱我們的指南,了解如何使用 OpenZeppelin 和 Hardhat 部署可升級的 ERC20 合約。

步驟 3:部署您的代幣

完成智慧合約的自訂設定後,請繼續進行編譯。

首先: 點擊 Solidity 編譯器 按鈕。請檢查編譯器版本及所選合約。編譯器版本應至少為 0.8.20 因為那條線 pragma solidity ^0.8.20; 在智慧合約中。接著,點擊 編譯 MyToken.sol 按鈕。如果一切順利,您會在「編譯」按鈕上看到一個綠色的勾號。

混音精選輯

下一步:前往「部署與執行交易」分頁。在部署時,請使用「環境」下的「注入式提供者」選項。部署前,請確保您的 MetaMask 已設定為Sepolia 測試網,且已選取MyToken合約作為待部署的合約。最後,點擊「部署」按鈕以部署您的合約。

如果您不確定如何切換網路,請開啟 MetaMask 擴充功能,點擊左上角的「網路選擇器」,然後選擇Sepolia。若未看到該選項,請確認已啟用「顯示測試網路」選項。若想了解如何將您的 Quicknode RPC URL 新增至 MetaMask,請參閱這份Quicknode 指南

Remix 部署

若在部署前收到錯誤訊息——「此合約可能是抽象的」,請務必在「合約」分頁下選取適當的合約。

最後:在 MetaMask 中確認交易:

MetaMask 交易確認

就這樣!您的代幣合約現已部署至以太坊的 Sepolia 測試網!

現在,讓我們來試著操作看看。點擊「已部署合約」區段中,合約名稱旁的箭頭(>),即可查看該合約的功能。接著,點擊名稱按鈕,您應該會看到您在合約中自訂的名稱。也歡迎試試其他功能。


提示

在 Remix.IDE 上,介面中的函式會根據其性質與效果以不同顏色標示:

  • 藍色按鈕功能:這些代表恆定函數純函數。點擊這些按鈕不會觸發新的交易,也不會改變合約的狀態。它們僅會從合約中返回一個值,且不會產生任何 Gas 費用。

  • 橘色按鈕功能:這些是無需支付費用的功能,會改變合約的狀態,但不會接受以太幣。觸發這些功能會產生一筆交易,這意味著它們會產生 Gas 費用。

  • 紅色按鈕功能:帶有紅色按鈕的功能需付費,且可建立接受以太幣的交易。這些交易的金額需輸入至位於「Gas Limit」欄位下方的「Value」欄位中。執行這些功能時,亦會產生 Gas 費用。

重新混編已部署的合約

若要在區塊鏈瀏覽器(這是一種專為初學者設計、用於分析各類區塊鏈數據的實用工具)上查看您的合約,請前往Etherscan Sepolia Explorer並搜尋您的合約地址。

您將在「代幣追蹤器」區段下方看到您的代幣名稱和代幣符號。

Etherscan Sepolia 合約

現在,請點擊您的代幣名稱。開啟的頁面將顯示該代幣的名稱、代幣代號、最大總供應量以及小數位數等資訊。

Etherscan Sepolia 代幣

若您想在 MetaMask 中查看您的代幣,請使用合約名稱旁的「複製」按鈕,複製已部署合約的地址。接著,開啟 MetaMask,點擊「匯入代幣」按鈕,並將合約地址貼上至「代幣合約地址」欄位中。 MetaMask 會自動擷取代幣符號和小數位數。點擊「下一步」和「匯入」,您的代幣就會被加入錢包中;您可以在 MetaMask 的「資產」區段中查看該代幣。

MetaMask 自訂代幣


在 Etherscan 上驗證您的代幣

請按照我們的逐步指南,在 Etherscan 上驗證您的智慧合約。

常見問題

要建立並部署一個 ERC20 代幣,我需要哪些條件?

您需要一個 web3 錢包(例如 MetaMask)、從水龍頭領取的測試用 ETH、一款現代化的網頁瀏覽器,以及能存取 Remix IDE 的權限。建議申請一個 Quicknode 免費試用帳戶,以便在部署後進行開發。

為什麼我應該使用 OpenZeppelin 的 ERC20 函式庫?

OpenZeppelin 提供了一套經過充分測試、由社群審計且安全的 ERC20 實作方案,既能降低 Gas 費用,又能確保符合規範。您只需將其導入,無需從頭開始編寫整個標準。

我該如何取得測試用 ETH,以便在 Sepolia 測試網進行部署?

前往 Quicknode 多鏈水龍頭,連接您的錢包或輸入您的地址,即可領取免費的測試版 ETH。您必須在以太坊主網持有至少 0.001 ETH,才有資格領取水龍頭獎勵。

我能否將我的 ERC20 代幣部署到以太坊 Sepolia 以外的其他網路?

是的,相同的 Remix 部署步驟適用於任何 EVM 相容鏈(例如 Arbitrum、Base 或 Avalanche),無論是測試網還是主網,只要您擁有用於支付 gas 費的原生代幣,並能在錢包中切換網路即可。

什麼是 ERC20 代幣標準?

ERC20 是一項用於在以太坊區塊鏈上創建代幣的技術標準,該標準定義了六項必備功能(totalSupply、balanceOf、transfer、transferFrom、approve、allowance)以及三項可選功能(name、symbol、decimals),以確保不同錢包與應用程式之間的互通性。

該如何從 Remix 部署我的代幣合約?

在 Remix 中,請使用 Solidity 編譯器 0.8.20 或更高版本編譯您的合約,接著前往「部署與執行交易」頁面,選擇「注入式提供者」(此時 MetaMask 需已連線至 Sepolia),選取您的合約,點擊「部署」,並在您的錢包中確認該交易。

該如何將已發行的 ERC20 代幣新增至 MetaMask?

從 Remix 複製您已部署的合約地址,開啟 MetaMask,點擊「匯入代幣」,貼上合約地址,MetaMask 便會自動擷取代幣代號和小數位數,並顯示在您的資產清單中。

部署一個 ERC20 代幣需要多少費用?

部署成本取決於網路狀況及當前的 gas 費用。在 Sepolia 測試網中,您使用的是免費的測試版 ETH。在以太坊主網中,部署時需使用真實的 ETH 來支付根據網路擁塞狀況而定的 gas 費用。

結論

恭喜您在以太坊 Sepolia 測試網成功創建了專屬的代幣!

既然您已經發行了首個代幣,現在就透過免費的 Quicknode 帳戶,邁出您在鏈上旅程的下一步。立即註冊,即可立即使用最快的 RPC 節點、全面的 web3 API 函式庫,以及效能最優異的區塊鏈 ETL 工具——所有服務均由企業級基礎設施提供支援。

若想進一步了解其他代幣標準及智慧合約部署,請參閱以下 Quicknode 指南:


您也可以瀏覽以下這些不同的 Quicknode 指南專區:


訂閱我們的電子報,獲取更多關於 Web3 和區塊鏈的文章與指南。如果您有任何疑問或需要進一步協助,歡迎加入我們的Discord伺服器,或透過下方表單提供意見回饋。請在Twitter(@Quicknode) 及我們的Telegram 公告頻道上追蹤我們,掌握最新動態。

我們 ❤️ 您的回饋!

如果您有任何意見回饋或對新主題的建議,請告訴我們。我們非常樂意聽取您的意見。

分享這份指南