Polygon (Matic) 從零開始 發行自己的虛擬貨幣(Token)
這篇文章將介紹如何運用Moralis,Remix,OpenZeppelin等資源快速創建自己在Polygon上的虛擬貨幣(Token)
Polygon,前身名為Matic network,以太坊側鏈(layer-2 network),創立於2017年7月,目的在創造以太坊生態的區塊鏈網路,2021年2月決定擴大項目服務範圍並更名為Polygon。 如果已經有在以太坊上發行或Token(代幣),那在Polygon上應該也可駕輕就熟,甚至覺得更簡單喔!
*本篇文章使用Test Net 取得測試幣,如果要正式發行要用正式網路喔!
在創建Polygon Token(代幣)前的準備
Step 1. 取得Polygon節點
這邊教大家兩種快速取得節點位置的方式
第一種方式 Chainlist
無須註冊,只要連結你的MetaMask錢包,搜尋關鍵字即可馬上加入節點位置
輸入Polygon,可以看到主鏈與測試鏈,本次教學使用測試鏈Mumbai Testnet 按下Add To MetaMask 後會跳出錢包的確認視窗,確認後就會切換到Mumbai Testnet測試網路了!
- 第二種方式 Moralis
除了取得節點外還有很多功能,若不想註冊的朋友可以用Chainlist就好喔! Moralis 是 blockchain middleware solution,幫我們串接了許多API,可讓開發者專注於前端開發。
首先註冊免費的 Moralis 帳號,註冊後在左邊的選單中選擇Speedy Nodes,點選Polygon Network
如果要發行真的貨幣可以選擇Mainnet ,此篇教學我們就先用Mumbai Testnet囉!
Step 2. 連結MetaMask錢包
點擊右側 Add to Metamask 會跳出確認 (當然必須要先有MetaMask 錢包喔!)
Step 3. 取得測試用的Matic Tokens吧
要創建自己的代幣,一定需要一些手續費用,faucet.matic.network 提供了 Test Net用的免費代幣,開啟後預設已經是 MATIC Token 與 Mumbai Network,把錢包的地址貼上按下Submit,再按一次Comfirm即可。 大概不到十秒中,就可以在自己的錢包上看到 1 顆MATIC囉!
接下來就來創造自己的虛擬貨幣吧!
Step 1. 使用Remix IDE
這篇教學使用非常紅的以太坊線上開發工具 (Integrated Development Environment) Remix ,打開後可以看到新版的Remix已經會自動代出智能合約的範例。
再來就是開始來 “找” 現成的合約參考囉!
Step 2. 透過OpenZeppelin尋找智能合約模板
萬事起頭難,要創立一個自己的代幣,網路上已經有許多現成的開源,這邊介紹的是 OpenZeppelin ,上面有非常多開源的智能合約範例可以參考。 免費註冊OpenZeppelin後,可以找到關於ERC 20的建置教學,官方網站或是論壇內都還有許多神人的分享,可興趣深入可以多看看喔!
// contracts/DBKToken.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract DBKToken is ERC20 {
constructor(uint256 initialSupply) ERC20("DevBrickers", "DBK") {
_mint(msg.sender, initialSupply);
}
}
Step 3. 發行在Polygon上的代幣的智能合約(Smart Contract)
回到Remix,新增一個檔案(這邊叫做DBKSToken.sol),把上面那段Code 貼到內容中並將範例的名稱修改成我們要創的名字,這邊我創建一個DevBrickers Toekn 簡稱DBK,你可以輸入自己想要的名稱喔!
完成後點選左邊的 SOLIDITY COMPILER ,記得Compiler 版本要跟Code上面的一樣喔! (本篇文章撰寫時使用0.8.0)
按下後若沒出現錯誤, SOLIDITY COMPILER會打一個綠色勾,此時就可以準備發布啦!
因為我們要部屬再Polygon,所以Environment 要選擇 Injected Web3 ,Account的部分連接前面準的好的Metamask 錢包,Contrack要選擇剛剛建立的檔案,記得確認網路是在 Mumbai 測試鏈喔! 要送出時發現失敗,原來是忘了設置參數,可以看到Deploy旁邊有個 initialSupply 就是範例碼中的參數,也就是要發行的代幣(Token)量,這邊就輸入1個億吧~! 因為預設最小單位是小數12位,所以1億要用 100000000000000000000000000 喔! 懶得數的朋友就複製貼上吧
成功發布後會跳出錢包畫面,部屬智能合約要收取一些手續費,按下確認
確認完後稍等一下(測試鏈很快,正式鏈會久一些) 就可以看到扣款成功,也可以在錢包上看到合約交易內容
Step 5. 確認你發行了你的代幣 當個億萬富翁吧!
我們可以在部屬合約的詳情中,點擊右上角的箭頭符號,會帶出 mumbai.olygonscan網站,可以查看你發行的合約。
點擊中間的 interacted with(To) : Contract [xxxx] 位置,裡面就是我們部屬這份智能合約的交易細節,一開始只會有Contract Creation,就是我們剛剛做的部屬動作。
那要如何確認我們的錢包已經有剛剛發行的1億個DevBrickers DBK 代幣(Token)呢? 開啟Metamask錢包,選擇 加入代幣,貼上剛剛 Contract中的地址 [xxx]
貼上後會自動查詢,可看到代幣代號出現了DBK
成功後可以看到Metamask 錢包中有1億個DBK Token了! 成了Polygon 測試鏈上的億萬富功囉!