“一個智能合約是一套以數字形式定義的承諾(commitment),包括合約參與方可以在上面執行這些承諾的協議。”
——尼克·薩博(Nick Szabo)
眾所周知,智能合約是區塊鏈區塊鏈中很重要的一部分,代幣、交易、質押等等活動都需要智能合約的幫助。
今天,我們就來使用智能合約發布一種ERC20代幣。
PS:上手需要知曉錢包、公鏈的知識
我們先在github上下載代碼:https://github.com/fingerchar/fingernft
這是一個開源的NFT交易平台的完整代碼,我們只需要其中的代幣合約源碼就行了。
下載完成,現在我們使用編譯器打開代幣合約源碼token-contract 文件。
下面是主要文件說明:
l contracts: 存放合約源碼。
l script/config.js: 合約部署的配置文件。
l script/deploy.js: 合約部署的啟動文件。
先來看看Token.sol,這是代幣的定義文件,看起來很簡潔吧,只有一個鑄造函數,其他都是引用協議標準就行了
接下來是配置文件config.js,讓我來一一介紹下這些配置參數:
l privateKey: 錢包私鑰地址,它具有錢包的所有權限,千萬不能洩露哦。
l chainId: 鏈ID,你想要將合約部署到那條鏈,就填相應的鏈ID。
l apiUrl: 網絡訪問節點,每個鏈都有自己的網絡訪問節點,都是公開的。
l name: 這個合約的名稱。
l symbol: 符號,你希望你發布的代幣的符號(類似ETH、BNB)。
l supply: 代幣的發行量,發布後錢包地址中就會有這個數量的代幣了。
最後的啟動文件已經寫好了,不需要修改了。
打開終端,下載依賴:npm install
下載完成後,就可以部署上鍊,發布代幣了:node script/deploy.js
部署完成後,會生成一個以錢包地址命名的文件,裡面存放著你的代幣地址
在錢包內導入代幣就可以看到剛剛發行的代幣了。
整理不易,期待點贊交流哦~~