本文由系統自動翻譯自原文。

什麼是 ERC-20?

ERC-20 是 Ethereum 上的一套同質化代幣介面標準。它面向一種負責記錄餘額和處理操作的鏈上程式,也就是代幣合約。ERC 是 Ethereum Request for Comments 的縮寫,指 Ethereum 的應用層標準與約定類別;20 是這項提案的編號。ERC-20 規定代幣合約應怎樣回答餘額和總供應量查詢,怎樣處理轉帳與授權,以及應發出哪些供應用讀取的操作紀錄(事件),讓錢包和其他應用能夠用相近方式接入不同代幣。

「同質化」表示同一種代幣的等量單位按合約記帳時可以互換。例如,同一合約記錄的 1 個單位不會因為來自不同地址就自動變成另一種類型。ERC-20 統一的是這些單位的操作方式,不是它們的價格、用途或可信程度。

統一介面解決接入差異

如果每個代幣合約都使用不同的函式名稱和參數,錢包每增加一種代幣就要重新學習一套查詢與轉帳方式,鏈上應用也很難重用既有程式碼。

ERC-20 規定了一組共同介面。錢包可以用同一種查詢方式讀取不同代幣的餘額,應用可以按約定請求轉帳,資料服務也可以讀取統一格式的轉帳和授權事件。

標準本身不會建立代幣。開發者仍要編寫或採用具體合約,並把它部署到網路。每個合約可以記錄自己的供應量、帳戶餘額和附加規則,因此兩個 ERC-20 代幣可能採用不同程式碼,也可能擁有完全不同的管理權限。

餘額、總量和顯示單位

ERC-20 合約按整數記錄代幣數量。balanceOf 用來查詢某個地址的餘額,totalSupply 用來查詢合約回報的代幣總量。

介面上看到的小數通常來自顯示規則,而不是合約真的儲存了小數。可選的 decimals 欄位告訴錢包應把整數向左移動多少位。例如,合約記錄 1,000,000 個最小單位,若 decimals 為 6,介面通常顯示為 1 個代幣。

這不會改變鏈上數量,也不會自動改變代幣價值。原始標準把名稱欄位 name、交易代碼欄位 symbol 和顯示小數位數欄位 decimals 都列為可選資訊;名稱和交易代碼還可能重複。可靠識別一個 ERC-20 代幣時,需要同時核對網路和合約地址,不能只看圖示或交易代碼。

直接轉帳怎樣發生

持有人直接把代幣從自己的餘額轉給另一個地址時,通常呼叫 transfer,並提供接收地址和以最小單位表示的數量。

合約執行時會檢查自己的規則。基礎情形下,餘額不足會導致操作失敗;實作還可能加入暫停、名單、轉帳費或其他限制。成功後,合約更新內部餘額,並發出 Transfer 事件,供錢包、區塊瀏覽器和資料服務識別這次變動。

Transfer 事件是讀取變化的重要線索,但最終餘額仍以合約狀態為準。應用還要確認交易已成功寫入正確網路,並確認事件來自正確的合約地址。

授權讓應用代為轉移限定數量

ERC-20 還支援「先授權,再由另一個地址或合約執行」的流程。它常用於去中心化交易、借貸或其他需要合約接收代幣的操作。

這個流程涉及三個角色:

  • 持有人擁有代幣,並決定是否授權;
  • 被授權方可以是另一個地址或鏈上應用;
  • 接收方是代幣最終轉入的地址,也可以與被授權方不同。

持有人呼叫 approve 設定授權額度。allowance 用來查詢還剩多少額度;被授權方呼叫 transferFrom,在餘額和剩餘額度允許的範圍內轉移代幣。授權成功時,合約會發出 Approval 事件。

授權不等於代幣已經轉出,但它會為被授權方留下後續操作空間。若額度很大或沒有及時撤銷,被授權應用一旦存在漏洞、被控制或行為不符合預期,就可能在授權範圍內轉走代幣。使用者需要核對被授權地址、代幣合約和額度,而不能只看應用頁面上的名稱。

修改授權額度需要注意什麼

原始 ERC-20 設計允許再次呼叫 approve,用新數值覆蓋舊額度。如果舊額度尚未使用,而持有人直接把它改成另一個非零值,被授權方可能在變更交易生效前用掉舊額度,並在變更後繼續使用新額度,合計超過持有人原本希望留下的新額度。

ERC-20 規範建議用戶端介面先把同一被授權方的額度設為 0,待歸零交易確認後再設定新值。這是一項針對授權變更流程的相容性建議,不表示所有錢包都採用相同互動,也不能替代對被授權合約的判斷。

撤銷授權通常也是把額度設為 0,並提交一筆鏈上交易。僅中斷錢包與網站的連線,通常不會自動改變已經寫入代幣合約的授權額度。

基礎標準的共同介面

從使用者角度,可以把基礎介面分為三組:

  • 查詢:讀取總供應量、地址餘額和剩餘授權額度;
  • 操作:由持有人直接轉帳、設定授權,或由被授權方代為轉帳;
  • 事件:記錄轉帳和授權成功,方便外部應用更新資料。

名稱、交易代碼和小數位屬於可選顯示資訊。標準還要求呼叫方能夠處理操作回傳 false 的情況,而不能假定每次呼叫不是成功就是自動報錯。實際接入時,應用需要面對已經部署的不同實作,不能只檢查函式名稱是否存在。

哪些能力不屬於基礎標準

ERC-20 沒有統一規定代幣應如何建立最初供應,也沒有要求合約必須繼續鑄造或支援銷毀。鑄造、銷毀、暫停、凍結、名單、交易費、投票權、升級和管理角色,都可能由具體實作另外加入,也可能完全不存在。

標準也不規定:

  • 代幣供應是否有上限,以及誰能改變供應;
  • 代幣是否對應儲備、商品、服務或其他鏈下權利;
  • 代幣價格、流動性或交易場所;
  • 管理員能否暫停、凍結或升級合約;
  • 其他網路上的同名代幣是否與它屬於同一資產安排。

因此,讀取 totalSupply 只能得到合約目前回報的總量,不能單獨說明未來會否增發;看到相同 symbol 也不能證明兩個合約代表同一種代幣。

代幣合約與原生 ETH

ETH 是 Ethereum 網路的原生資產,用於支付網路執行交易所收取的 Gas 費,也由協議直接記錄。ERC-20 代幣則由智能合約維護餘額和操作規則。

兩者都可以在地址之間轉移,但呼叫路徑並不相同。普通 ETH 轉帳不需要呼叫某個 ERC-20 合約,ETH 本身也不是 ERC-20 代幣。某些應用使用合約把 ETH 對應為一種 ERC-20 形式,以便接入只接受 ERC-20 介面的程式;這會引入另一份合約及其規則,不能把兩種紀錄直接視為同一物件。

介面相容不等於行為完全相同

「支援 ERC-20」通常只說明錢包或應用能呼叫基礎介面。具體代幣仍可能表現不同:

  • 轉帳時扣除額外費用,使接收數量低於輸入數量;
  • 管理員可以暫停轉帳、凍結地址或改變實作;
  • 某些舊合約沒有按應用預期回傳結果;
  • 顯示欄位缺失、重複或由不可信來源提供;
  • 額外邏輯讓普通轉帳在特定條件下失敗。

所以,ERC-20 提供的是共同語言,不是統一業務規則。判斷某個代幣能否安全接入,需要檢查具體合約地址、程式碼或驗證資訊、管理權限和實際呼叫結果。

常見問題

所有 Ethereum 代幣都是 ERC-20 嗎?

不是。Ethereum 還有面向獨立編號代幣或其他用途的標準,也可以存在自訂介面。ERC-20 主要服務於按數量記錄、等量單位可互換的代幣。

代幣都使用 18 位小數嗎?

不是。decimals 是可選顯示欄位,不同代幣可以使用不同數值。應用在計算和顯示數量前應讀取並正確處理具體合約的設定。

把錢包與網站中斷連線就撤銷授權了嗎?

通常沒有。中斷連線會阻止網站繼續透過目前工作階段請求錢包操作,但鏈上授權仍由代幣合約記錄。撤銷通常需要把相應額度改為 0,並讓交易成功寫入網路。

收到 ERC-20 代幣就說明它是真的嗎?

不能。任何人都可能部署名稱或交易代碼相似的合約。應核對網路、合約地址和可信資訊來源;標準相容性不能證明發行方身分、儲備或價值。

其他區塊鏈能直接使用這套標準嗎?

ERC-20 是 Ethereum 應用層標準。能夠執行 Ethereum 風格智能合約的其他網路可能採用相似介面,但每個網路上的合約地址和狀態彼此獨立。跨鏈移動通常還涉及橋或另外的發行安排,不是 ERC-20 介面自動完成的。

相關詞條

繼續了解代幣標準、加密代幣、智能合約和Gas 費,或返回加密貨幣術語表。

參考來源

免責聲明
本文章可能包含不適用於您所在地區的產品相關內容。本文僅致力於提供一般性信息,不對其中的任何事實錯誤或遺漏負責任。本文僅代表作者個人觀點,不代表 OKX 的觀點。 本文無意提供以下任何建議,包括但不限於:(i) 投資建議或投資推薦;(ii) 購買、出售或持有數字資產的要約或招攬;或 (iii) 財務、會計、法律或稅務建議。 持有的數字資產 (包括穩定幣) 涉及高風險,可能會大幅波動,甚至變得毫無價值。您應根據自己的財務狀況仔細考慮交易或持有數字資產是否適合您。有關您具體情況的問題,請諮詢您的法律/稅務/投資專業人士。本文中出現的信息 (包括市場數據和統計信息,如果有) 僅供一般參考之用。儘管我們在準備這些數據和圖表時已採取了所有合理的謹慎措施,但對於此處表達的任何事實錯誤或遺漏,我們不承擔任何責任。 © 2026 OKX。本文可以全文複製或分發,也可以使用本文 100 字或更少的摘錄,前提是此類使用是非商業性的。整篇文章的任何複製或分發亦必須突出說明:“本文版權所有 © 2026 OKX,經許可使用。”允許的摘錄必須引用文章名稱並包含出處,例如“文章名稱,[作者姓名 (如適用)],© 2026 OKX”。部分內容可能由人工智能 (AI) 工具生成或輔助生成。不允許對本文進行衍生作品或其他用途。

相關推薦

查看更多

什麼是共識機制?

共識機制是區塊鏈網路用來決定「接下來接受哪一個區塊、採用哪一段帳本歷史」的一套規則。網路中的節點分別接收和檢查資料,即使訊息到達時間不同,或有人提交衝突資訊,它們仍需要用相同規則得出能夠繼續處理的結果。 這裡的「共識」不表示每個人對所有事情意見一致,也不要求每個節點在同一時刻看到完全相同的資料。它表示:在協議設定的條件成立時,遵守規則的節點最終能夠採用相容的帳本歷史,並知道哪些交易仍可能變化,哪些
2026年11月9日

什麼是區塊?

區塊可以理解為區塊鏈用來打包新紀錄的資料包。一個區塊通常包含一批交易或其他更新,以及供區塊鏈網路中的節點檢查這些內容的資訊。除第一個區塊外,新區塊通常還會保存前一個區塊的數位指紋,也就是雜湊值,因此區塊能夠按順序連接起來。 ## 區塊的組成 區塊通常會包含三類資訊: 1. **交易或其他更新**:記錄這個區塊要加入鏈上的內容。 2. **與前一個區塊的連接**:通常使用前一個區塊的雜湊值,幫助節點
2026年11月9日

什麼是代幣化股票?

代幣化股票(tokenized stocks)是用區塊鏈上的代幣,表示某檔股票本身、與股票有關的權益,或者跟隨股票價格變化的合約。它不是一種結構完全統一的產品:「代幣名稱對應某家公司」只能說明參考對象,不能證明持有人就是這家公司的股東。 理解代幣化股票,最重要的不是先看它部署在哪條鏈上,而是先問:代幣究竟代表什麼權利?有些代幣直接參與股票持有人登記,有些代表由第三方託管的股票權益,還有些只讓代幣價
2026年11月9日

什麼是代幣標準?

代幣標準是一套技術規範,規定代幣程式應提供哪些功能、接受什麼輸入,以及怎樣把結果告訴錢包和其他應用。它讓不同開發者建立的代幣可以用一組共同規則被識別和呼叫。 可以把標準理解為介面約定:它規定「對外怎樣溝通」,但不替每個專案決定供應量、用途、管理權限或鏈下權利。兩個代幣可以遵循同一標準,卻採用不同程式碼、擁有不同權限,並代表完全不同的對象。 ## 沒有共同標準會發生什麼 如果每個代幣都自行命名查詢餘
2026年11月9日

什麼是穩定幣?

穩定幣是一類試圖讓價格接近某個參考價值的加密資產,常見參考對象是美元等法定貨幣。「穩定」說的是設計目標,並不是價格保證。穩定幣仍可能高於或低於目標價格交易,不同持有人也不一定都能直接向發行方贖回。 理解穩定幣時,可以把四個問題分開:參考價值是什麼?由什麼機制支持?誰可以直接贖回?特定市場上實際可得的價格是多少?某項說明回答了其中一個問題,不代表其他問題也得到回答。 ## 目標價值不等於市場價格 *
2026年11月9日

什麼是智能合約?

智能合約是部署在區塊鏈網路上、由交易或其他程式呼叫後按程式碼規則運行的程式。它可以讀取輸入和鏈上資料,檢查預設條件,並在執行成功後更新區塊鏈保存的資料。 「智能」不表示它會自行思考,「合約」也不保證它在法律上構成契約。這個名稱強調的是:參與者可以把一組操作規則寫成程式碼,由運行區塊鏈軟體並檢查交易的節點按協議處理,而不必由某一台伺服器單獨決定結果。 ## 先分清程式碼、狀態和呼叫 **程式碼**規
2026年11月9日
查看更多