【區塊鏈知識】快速瞭解以太坊的 ERC 與 EIP
認識以太坊基礎協議的好處
由於目前最常被用作開發智能合約的區塊鏈就是以太坊,所以才會常常看到有很多新興公鏈都會額外打著「EVM」兼容的名號,大概的意思就是「我們開發的區塊鏈也能使用以太坊的標準來運行哦,你們現有的程式不太需要修改就可以來這個區塊鏈上架,請大家快來用!」,這樣的好處是能讓以太坊開發者可以用一樣的程式碼,以非常低的轉換成本跳到那個區塊鏈上玩玩看,當開發者開始在新的鏈上部屬自己的生態後,區塊鏈上開始會有不同的用途了,這些部屬在區塊鏈上的應用程式若能成功吸引新使用者加入,要是來的人很多,人潮帶來錢潮,新的區塊鏈就能夠蓬勃發展。
在這樣的前提下,對於想要開始學習區塊鏈與智能合約的人來說,先去瞭解以太坊的一些基本定義就會變得很划算,因為就算某天你要離開以太坊生態系到其他區塊鏈時,許多區塊鏈都能夠用以太坊的程式碼讓我們繼續玩,這些知識就可以被帶著走了。
這篇文章中,我們會提到 EIP 是甚麼,它的種類有哪些,還有所謂的 ERC 的代幣協議是甚麼,如果你也是想要透過寫程式的方式,在以太坊兼容的區塊鏈上(如:Ethereum, BNB chain, Polygon, Avalanche, Arbitrum…)發行自己的代幣或是 NFT 的話,那麼大致上瞭解 EIP 與 ERC 就會是需要的功課,在瞭解這些基本的東西後,知道要去哪裡查詢相關規範並使用它,會對程式開發有幫助哦。
EIP 的定義與三大類型
如果對區塊鏈有更進一步認識,你可能聽過 ERC-20、ERC-721 之類的東西,它對應到的提案就是 EIP-20 與 EIP-721。
這指的是以太坊定義好的標準協議,這就好像我們要去政府機關或是銀行郵局等等的地方申請一些東西時,這些單位會先定義好一套申請標準,在申請時他們會告訴我們需要提供哪些證件,或是需要填寫哪些表格欄位,方可完成申請。對我們來說發行代幣也是一樣,只需要照著以太坊定義的格式設定好,誰都可以在上面發行自己的代幣,而且大家都能識別它!
EIP 的全稱為 Ethereum Improvement Proposal ,就是以太坊的改進建議提案,用來描述以太坊中的一些新功能或新設計。任何東西的問世實在不太可能一開始就是完美的,所以以太坊在建立時就提供了 EIP 讓大家可以上來提案改進,EIP 的提案者須要負責相關文件的撰寫,包含一個新功能的基本運行原理、技術規範與用途等等,在社群裡面讓大家產生共識,若提案被以太坊基金會接受就會產生 EIP 的代號,成為以太坊的一部分。
最初的 EIP-1 文件是參考比特幣當初創造出來的 BIP 演變出來的,上面定義了讓之後想要提案的人需要附上的公定格式,其中就有提到 EIP 主要分為三種類型,分別如下:
1. Standard Track
Standard Track EIP 可以說是以太坊最重要的文件,照著官方文檔描述,包含了四大項:Core、Networking、Interface、ERC。
大致會包含一些以太坊的核心開發、網路協議、交易規則、應用程式標準與介面接口定義的相關新功能,就連我們平常手上在使用的代幣或是 NFT 都是從 ERC 出來的,所以被歸類在 Standard Track EIP 裡面哦!
2. Meta
Meta EIP 看起來比較偏向一些以太坊內部流程與 SOP 的改進提案,或是有些新功能上線後該如何使用的流程。例如以太坊最初的 EIP-1 就屬於這一類,它定義了 EIP 的提交格式,提交後如何審核等等較繁雜的東西,並且做了提案的流程圖。
3. Informational
Informational EIP 是一種給大家參考的訊息或像是對於某些以太坊設計上的指南手冊,它不會是一個新功能(因為新功能都應該被列在上面另外兩類),所以可以將這類的 EIP 設想為使用某些東西的建議,不算是非常重要的 EIP 類型,給使用者社群參考用。
這些大概就是 EIP 在做的事情,如果想要看更多的話可以參考以太坊 EIP 的官方網站,裡面可以看到更多 EIP 的提案,網址是:https://eips.ethereum.org/
ERC 標準
前面提到 ERC 屬於 EIP 下的 Standard Track EIP,全名是 Ethereum Request for Comments ,它不是一項技術或程式碼,而是在定義一種協議規範或一套智能合約的標準,這就好像我們日常生活中所有的東西都需要訂定標準規格,包含家裡電器插座要是 110V 或 220V、手機充電口有 Micro-B、Type-C 或蘋果的 Lighting 等,那你就會知道規格的定義是非常重要的,大家統一開發一樣的標準,開發後的產品就可以被互通使用,減少轉換成本。
對於智能合約要發行代幣也是類似的想法,一個代幣要包含哪些內容就會根據 ERC 定義的內容,而開發者就是去研究有哪些東西是大家公定的規格並寫在自己的合約中,這樣在開發後我們的代幣要被使用時,其他人因為知道這套標準,就不需要再花費時間特地瀏覽你的程式碼,就能瞭解如何調用運作。
目前通過審核進入到 Final 階段的 ERC 共有 27 個,裡面包含我們最常見到的 Token 是 ERC-20 標準、NFT 是 ERC-721 標準、適合 GameFi 用的 NFT 是 ERC-1155 標準,還有最近剛更新,為 DeFi 打造的 ERC-4626 標準,在下一次的文章中我想再深入說說我們最常見的這幾種 ERC 代幣協議,它們各自的特別之處,希望看完之後能夠讓你對於以太坊上的這些 Token 與 NFT 有更進一步的認識!
更多詳細的提案內容可以參考官方文檔,網址是:https://eips.ethereum.org/erc
延伸閱讀
在今年初,我們也曾經研究過如何在區塊鏈上發行自己的代幣,並且在最後發行了「科技幣, ITC」免費空投給讀者們,它是基於以太坊上的一種標準協議 ERC-20 在 Polygon 側鏈所發行的代幣,想要更深入瞭解怎麼發幣的話,可以參考以下文章:
【新年企劃】過年就包紅包幣 | 智能合約開發計劃 #1
【空投獎勵】科技隨筆讀者回饋 | 免費領取科技幣
最後,謝謝你在百忙之中願意抽空來花時間來看我的文章,如果還喜歡這些內容的話希望能獲得你的追蹤及小額贊助支持,讓我更有繼續寫下去的動力,也歡迎點此連結在其他平台找到我。
下次見嚕 o((>ω< ))o~
原文連結 ITechNote 科技隨筆