“一個智能合約是一套以數字形式定義的承諾(commitment),包括合約參與方可以在上面執行這些承諾的協議。”


——尼克·薩博(Nick Szabo)


眾所周知,智能合約是區塊鏈區塊鏈中很重要的一部分,代幣、交易、質押等等活動都需要智能合約的幫助。

今天,我們就來使用智能合約發布一種ERC20代幣。

PS:上手需要知曉錢包、公鏈的知識

我們先在github上下載代碼:https://github.com/fingerchar/fingernft

智能合約:發布一種ERC20代幣


這是一個開源的NFT交易平台的完整代碼,我們只需要其中的代幣合約源碼就行了。

下載完成,現在我們使用編譯器打開代幣合約源碼token-contract 文件。

智能合約:發布一種ERC20代幣

下面是主要文件說明:

l contracts: 存放合約源碼。

l script/config.js: 合約部署的配置文件。

l script/deploy.js: 合約部署的啟動文件。

先來看看Token.sol,這是代幣的定義文件,看起來很簡潔吧,只有一個鑄造函數,其他都是引用協議標準就行了

智能合約:發布一種ERC20代幣

接下來是配置文件config.js,讓我來一一介紹下這些配置參數:

智能合約:發布一種ERC20代幣

l privateKey: 錢包私鑰地址,它具有錢包的所有權限,千萬不能洩露哦。

l chainId: 鏈ID,你想要將合約部署到那條鏈,就填相應的鏈ID。

l apiUrl: 網絡訪問節點,每個鏈都有自己的網絡訪問節點,都是公開的。

l name: 這個合約的名稱。

l symbol: 符號,你希望你發布的代幣的符號(類似ETH、BNB)。

l supply: 代幣的發行量,發布後錢包地址中就會有這個數量的代幣了。

最後的啟動文件已經寫好了,不需要修改了。

智能合約:發布一種ERC20代幣

打開終端,下載依賴:npm install

智能合約:發布一種ERC20代幣

下載完成後,就可以部署上鍊,發布代幣了:node script/deploy.js

智能合約:發布一種ERC20代幣

部署完成後,會生成一個以錢包地址命名的文件,裡面存放著你的代幣地址

智能合約:發布一種ERC20代幣

在錢包內導入代幣就可以看到剛剛發行的代幣了。

智能合約:發布一種ERC20代幣

智能合約:發布一種ERC20代幣

整理不易,期待點贊交流哦~~