ERC20代幣發行教程

        以太坊的出現使得你們能夠很方便的以太坊上發行本身的代幣,這些代幣都遵循ERC20協議(現已有ERC23協議)。智能合約編程支持合約的繼承(相似面嚮對象語言中類的繼承和接口的實現),所以ERC20協議能夠定義爲一個接口。npm

        下面即是符合ERC20協議的智能合約:編程

contract ERC20 {
       //獲取總的發行量
        function totalSupply() constant returns (uint totalSupply);
        //查詢帳戶餘額
        function balanceOf(address _owner) constant returns (uint balance); 
        // 發送Token到某個地址(轉帳)
        function transfer(address _to, uint _value)returns(bool success); 
        //從地址from 發送token到to地址
        function transferFrom(address _from, address _to, uint _value) returns (bool success); 
        //容許_spender從你的帳戶轉出token
        function approve(address _spender, uint _value)returns(bool success);
        //查詢容許spender轉移的Token數量
        function allowance(address _owner, address _spender) constant returns (uint remaining);
        //transfer方法調用時的通知事件
        event Transfer(address indexed _from, address indexed _to, uint _value);
        //approve方法調用時的通知事件
        event Approval(address indexed _owner, address indexed _spender, uint _value); 

}

 

接下將在咱們本身的網絡上發行咱們本身的代幣。網絡

智能合約Solidity 的開發使用Webstorm做爲編輯器使用NodeJs進行開發。使用Truffle和geth做爲部署工具,所以須要提早安裝NodeJs和Truffle,直接去官網下載便可。app

因爲智能合約支持繼承的方式,咱們只要讓咱們本身的智能合約繼承開源的遵循ERC20協議的合約即可以很方便的實現咱們本身的代幣合約。cors

在本地的文件中運行:dom

truffle unbox tutorialtoken

從Truffle官網下載tutorialtoken項目,接下來把zeppelin-solidity項目做爲依賴工程導入到咱們的項目。編輯器

npm install zeppelin-solidity

定義本身的智能合約TutorialToken,注意:咱們讓TutorialToken繼承自合約StandardToken工具

contract TutorialToken is StandardToken{}

StandardToken已經繼承了ERC20協議並實現了相關的方法。測試

咱們的合約名稱是TutorialToken,代幣名稱是LYBToken,總量是12000個。ui

使用Truffle compile命令進行合約編譯:

//Truffle migrate 將合約部署到以太坊網絡上,
//注意:部署時eth網絡必須運行且處在挖礦模式,須要消耗gas,而且解鎖帳戶。

geth.exe --rpccorsdomain "*" --rpc console 2>> 1.log

 

合約部署成功,使用npm dev run進行測試:

能夠看到帳戶裏已經有了初始的12000個LYBToken,能夠進行轉帳等一系列操做。

至此咱們本身的ERC20代幣LYBToken發行成功。

相關文章
相關標籤/搜索