ERC-20 代幣是在與EVM 兼容的區塊鍊和第2 層上進行交易的關鍵部分。在本教程中,您將學習如何在Polygon 上創建ERC-20 代幣,這是一種第二層EVM 區塊鏈,其成本低於直接在以太坊主網上部署的成本。
什麼是ERC-20 代幣?
ERC-20 代幣是區塊鏈上“某物”的表示。它們是可替代的, 這意味著它們是可以互換的:你不關心你有哪個令牌,因為它們都是一樣的,只關心你有多少令牌。這與不可替代的代幣(NFT) 形成對比,後者是獨一無二的,因此不可互換:您關心哪個 令牌 你擁有,不一定有多少。
建立在多邊形上
隨著以太坊等網絡變得更加繁忙,gas 價格上漲,交易時間更長。為了避免這些問題,開發人員可以將他們的dApp 部署到Polygon PoS 網絡等擴展解決方案。讓我們看一下Polygon,為什麼要使用它,以及如何開始。
什麼是多邊形?
對“Polygon”的引用通常指的是Polygon PoS 鏈,但Polygon 比我們將關注的鏈更大。開發人員正在努力擴展Polygon,使其不僅僅是Polygon PoS 鏈,旨在將其轉變為用於構建和連接以太坊兼容的區塊鍊網絡的協議和框架。例如,Polygon Hermez 是一個ZK rollup,目前用於支付。
此外,Polygon 以前稱為Matic。此名稱更改的殘餘部分是Polygon PoS 鏈中使用的代幣:MATIC。
Polygon PoS 是第2 層嗎?
通常,人們將Polygon PoS 稱為第2 層鏈。雖然它提供了第2 層的一些主要好處,但它實際上是一個側鏈,增加了一個附加功能:在以太坊主鏈上創建檢查點的能力。雖然這聽起來類似於樂觀匯總,因為它將交易檢查點添加到主鏈,但必須了解Polygon PoS 是一個獨立的鏈,具有自己的安全和信任保證。
多邊形PoS 的優勢
Polygon PoS 是一個與EVM 兼容的鏈。這意味著您可以在Polygon PoS 上部署與在以太坊上相同的合約。 Polygon PoS 也很快:理論上每秒最多可處理65,000 筆交易。與以太坊目前每部分15 筆交易相比,這是一個巨大的速度差異。 Polygon PoS 的汽油費也比以太坊低得多。
鏈條之間的橋樑
要將資產從以太坊轉移到Polygon PoS,您需要與 多邊形橋. 這是一份合約,它將在以太坊一側保管你的資產,並在大約7-8 分鐘後,在Polygon 一側創建該資產的打包版本。
這有點像在街機中使用令牌。你給街機員工(橋接合同)你的錢(ETH),然後他們創建代幣(POS-WETH,Proof of Stake Wrapped ETH)以在街機(Polygon PoS)中使用。從那裡,您可以使用代幣(POS-ETH) 在街機中玩遊戲。如果您想離開,您可以將您的代幣(POS-WETH) 還給員工(過渡合約),他們會拿走代幣(POS-WETH) 並給您錢作為交換(ETH 換POS-WETH)。
教程
現在,讓我們開始吧。請按照以下步驟操作,或與此視頻一起編寫代碼。
要求
要開始使用,您基本上需要使用在以太坊上構建的相同工具集。這是EVM 兼容鏈的優勢之一:它們通常不需要您切換工具集。對於本教程,我們將使用:
混音——基於Web 的Solidity IDE
Openzeppelin——區塊鏈合約的安全標準
多邊形孟買—Polygon 的測試網絡
多邊形水龍頭——獲取測試網ETH 的好地方
連接到多邊形孟買測試網
在Mumbai 測試網上構建應用程序的第一步是校準您的錢包以使用它。您將需要 設置你的錢包 第一的。 鍊錶 是一個很好的工具,使您能夠簡單地連接您的錢包並從那裡添加鏈。如果要自己添加,可以在 多邊形文檔.
網絡名字: 多邊形孟買測試網
新的RPC 網址: https://rpc-mumbai.maticvigil.com
鏈ID: 80001
象徵: MATIC
阻止資源管理器URL: https://mumbai.polygonscan.com/=
獲得孟買MATIC
MATIC 是孟買測試網的原生代幣。為了部署和與合約交互,我們需要一些。前往 多邊形水龍頭 獲得一些測試網MATIC。您需要提供您的錢包地址,然後單擊“提交”。
使用OpenZeppelin——一種Web3 標準
OpenZeppelin 為開發人員提供了一組正在成為Web3 行業標準的合約和庫。我們將使用他們的ERC-20 合約來定義我們的代幣。使用標準化合約將有助於確保我們創建的代幣是可靠的。如果您想了解有關OpenZeppelin 提供的合約的更多信息,請查看其 入門頁面.
建立合同
讓我們前往 混音IDE 開始。
Remix 提供了一些示例合約。我們現在可以忽略這些。
在contracts 目錄中創建一個新合約。
讓我們命名 PolyCoin.sol
// SPDX-License-Identifier: MIT pragma solidity ^0.8.2; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; contract PolyCoin is ERC20 { constructor() ERC20("PolyCoin", "PLYCN") { _mint(msg.sender, 1000 * 10 ** decimals()); } }
關於小數的註釋
Solidity 不使用小數。這意味著任何時候我們想要處理小於整數的數字,我們都需要使用定點算法。本質上,我們在值中存儲了固定數量的小數。在這種情況下, decimals()
是18,這意味著我們將鑄造的代幣數量乘以 10^18
.
部署
您現在擁有一個功能齊全的ERC-20 代幣!讓我們將其部署到Polygon Mumbai 網絡。
您需要做的第一件事是將環境更改為 Injected Web3
. 這將使Remix 能夠通過您的錢包與實際的區塊鏈進行交互。
接下來,確保您選擇了正確的合同。我們將合同命名為 PolyCoin
在這個例子中。
單擊“部署”按鈕,您應該會看到一個確認按鈕。我們正在部署到實時區塊鏈,因此將涉及燃氣費。
完全部署合約可能需要一些時間。完成後,您將在Deployed Contracts 下看到它。您還可以查看合約中可用的所有功能。 OpenZeppelin 合約導入也包括這些功能。
驗證
部署合約後,我們可以再次檢查它是否出現在孟買網絡上。
複製合約地址並前往 多邊形掃描.
輸入合約地址並蒐索。
您應該會看到合約和代幣。
您已創建ERC-20 代幣並將其部署到Polygon 測試網絡!
下一步
從這裡,您可以將您的代幣帶到Polygon 主網或任何其他與EVM 兼容的區塊鏈。這是Solidity 的一大優點——許多鏈都支持與EVM 兼容的合約。
您還可以為您的令牌添加更多功能。 OpenZeppelin 合約支持額外的鑄幣、燃燒、投票等。查看 OpenZeppelin 文檔 有關完整的詳細信息。
創建自己的ERC-20 代幣的能力開闢了許多新機會,從促進協議治理到與DeFi 應用程序交互。再往下,你甚至可以為你的新代幣啟動Chainlink 價格饋送,使其能夠在廣泛的DeFi 協議中使用。