【以太坊开发】在以太坊网路上发行一个代币竟是如此简单!!!

2018-07-26  本文已影响134人  Share猿

小猿“思前享后”为大家分享优质内容!————Share猿

1.下载MetaMask轻钱包,创建一个相关账户,做好代币合约创建准备工作

1.1.到MetaMask官网下载

1.1.1.首先我们需要一个梯子翻墙

  梯子大家可以随便找,可以买个vpn,或者直接下载蓝灯用就可以了!

1.1.2.到官网下载MetaMask(我以谷歌浏览器为例)

  访问官网,然后点击如下的图标:


  网页会跳转到谷歌商店,点击“添加扩展”,然后MetaMask轻钱包就安装到了谷歌浏览器上,在右上方我们可以看到。
1.1.3.创建账号

  在这个过程中,我们一路accept,然后输入密码,记住助记词,这样我们就在MetaMask上创建了自己的账号,万里长征我们迈出了一大步。

1.1.4.切换到测试网络

2.通过测试网络给刚才创建的地址发以太币

  访问地址:http://faucet.ropsten.be:3001/,然后输入钱包地址,点击“send me 1 test eth”,几分钟后一个以太币就到你的账户了。

3.开发代币合约

3.1.ERC20 Token

  也许你经常看到ERC20和代币一同出现, ERC20是以太坊定义的一个代币标准
要求我们在实现代币的时候必须要遵守的协议,如指定代币名称、总量、实现代币交易函数等,只有支持了协议才能被以太坊钱包支持。

3.2.编写代币合约代码

pragma solidity ^0.4.16;

interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public; }

contract TokenERC20 {

    string public name;

    string public symbol;

    uint8 public decimals = 18;  // 18 是建议的默认值

    uint256 public totalSupply;

    mapping (address => uint256) public balanceOf;  //

    mapping (address => mapping (address => uint256)) public allowance;

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Burn(address indexed from, uint256 value);

    function TokenERC20(uint256 initialSupply, string tokenName, string tokenSymbol) public {

        totalSupply = initialSupply * 10 ** uint256(decimals);

        balanceOf[msg.sender] = totalSupply;

        name = tokenName;

        symbol = tokenSymbol;

    }

    function _transfer(address _from, address _to, uint _value) internal {

        require(_to != 0x0);

        require(balanceOf[_from] >= _value);

        require(balanceOf[_to] + _value > balanceOf[_to]);

        uint previousBalances = balanceOf[_from] + balanceOf[_to];

        balanceOf[_from] -= _value;

        balanceOf[_to] += _value;

        Transfer(_from, _to, _value);

        assert(balanceOf[_from] + balanceOf[_to] == previousBalances);

    }

    function transfer(address _to, uint256 _value) public {

        _transfer(msg.sender, _to, _value);

    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {

        require(_value <= allowance[_from][msg.sender]);     // Check allowance

        allowance[_from][msg.sender] -= _value;

        _transfer(_from, _to, _value);

        return true;

    }

    function approve(address _spender, uint256 _value) public

        returns (bool success) {

        allowance[msg.sender][_spender] = _value;

        return true;

    }

    function approveAndCall(address _spender, uint256 _value, bytes _extraData) public returns (bool success) {

        tokenRecipient spender = tokenRecipient(_spender);

        if (approve(_spender, _value)) {

            spender.receiveApproval(msg.sender, _value, this, _extraData);

            return true;

        }

    }

    function burn(uint256 _value) public returns (bool success) {

        require(balanceOf[msg.sender] >= _value);

        balanceOf[msg.sender] -= _value;

        totalSupply -= _value;

        Burn(msg.sender, _value);

        return true;

    }

    function burnFrom(address _from, uint256 _value) public returns (bool success) {

        require(balanceOf[_from] >= _value);

        require(_value <= allowance[_from][msg.sender]);

        balanceOf[_from] -= _value;

        allowance[_from][msg.sender] -= _value;

        totalSupply -= _value;

        Burn(_from, _value);

        return true;
    }
}

  将这个代码复制粘贴到Remix网页编辑器中,然后点击右上角的Run,写上你发行币的总量,名称,代号,然后点击Create,这时MetaMask会弹出一个交易确认框,点SUBMIT,待合约部署交易确认之后,复制合约地址。

3.3.添加合约地址到钱包的token

   打开Metamask界面,切换到TOKENS,点添加合约,出现如下对话框,填入刚才复制的地址,点ADD,这时你就可以看到你创建的代币了(合约地址在浏览器的右下角,复制即可)


  你已经完成了代币的创建和部署(正式网络和测试网络部署方法一样),可以etherscan查询到我们刚才部署的代币。

4将代币转入到imtoken钱包

4.1.登录你的Metamask钱包:

  点击TOKENS,查看你的EOS余额,我这里上次因为领糖果,所以只转入了一个。

4.2.查看你的钱包私钥:

  点击右上角三个黑点,然后在下拉选择选择第四项。

4.3.输入你的钱包密码:

4.4.查看并复制私钥:

  看到私钥之后,点击“done”复制到剪贴板:

4.5.打开imtoken钱包,右下角“我“:

4.6.管理钱包——导入钱包:

  粘贴你的私钥到输入框,然选择导入钱包,设置你的钱包密码。

  ok,成功导入,现在这个EOS就躺在imtoken的钱包里面了,你可以选择映射,也可以选择把它转账到交易所。当然,转账之前,钱包里还要转入一点Eth做手续费的哦。


扫描以下公众号关注小猿↓↓↓↓↓↓↓↓


更多资讯请在简书、微博、今日头条、掘金、CSDN都可以通过搜索“Share猿”找到小猿哦!!!
上一篇 下一篇

猜你喜欢

热点阅读