如何用以太坊发行自己的虚拟货币

今天我来教一下大家如何花10分钟的时间完成以太坊的发币。简单的说,步骤如下:

  1. 备好 ETH 零钱
  2. 发币
  3. 上交易所
  4. 走向人生巅峰

怎么样,是不是很简单?接下来我就来详细的讲解一下操作步骤。

1. 备好 ETH 零钱

本文介绍的玩法均基于 Ethereum(以太坊),因此事先需要备好一点点 ETH(以太币)零钱,用于支付 gas(油钱,可以通俗的理解为上链的手续费)。大约总共只需要零点零几的 ETH(大约价值不到10美元)即可。

使用美元购买 ETH 的交易所有很多,最常见的交易所是 Coinbase/GDAX,这里不是本文的重点所以在此略过了。

MetaMask 是一个很方便的 Chrome 浏览器插件,下文中将默认使用 MetaMask 作为你的 ETH 钱包。安装好 MetaMask 之后,找到 create account 的按钮,即可创建一个 ETH 钱包。注意 Private Key(私钥)永远不要以任何形式告诉任何人,而钱包地址则是公开的,例如我的钱包地址是 0xd1c6ea01d741a9cb7d4b3d5cf8f708de83acac29。在交易所买完币以后,请 withdraw(提币)相应的 ETH 到 MetaMask 的钱包地址当中。

这样一来你就有足够的币来完成下面的步骤了!

2. 发币

炒别人的币只有当韭菜被割的命,想致富就要自己发币!不要把这事儿想的太复杂,发币的步骤其实很简单,任何人只要照着本文操作,5分钟就能搞定!

首先要说明的是,咱们要发的币其实是 Ethereum 上的 ERC20 Token(中文一般叫做代币,例子:EOS, TRX),而不是 Coin(典型例子:BTC)。如果你不懂 Token 和 Coin 之间的区别,没关系,反正只要知道大部分 ICO 出来的币也都是 Token 即可。

发行自己的 Token,其实简单的很:一个智能合约即可搞定!而且考虑周到的以太坊官方团队,都已经把自己发代币的智能合约放到官网了!这个智能合约的代码如下(别怕,不需要你懂编程,你只要懂怎么复制粘贴就行了):

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;
    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 – Solidity IDE 即可进入官方的在线编译器。把上面的代码贴到这里,点击右侧的 Start to compile,忽略那一堆 Warning。

现在只是编译通过了,接下来要把它实际部署到以太坊的区块链上。点击右侧的 Run,然后输入参数。我创建合约时的参数如下图,供参考。其中右侧的 Environment, Account 两行,如果你在第一步中配置好了 MetaMask 并且登陆了,就应该已经自动填妥了;Gas Limit 和 Value 两行保持默认值即可;TokenERC20下面的那个框,是重点。这个智能合约接受3个参数:第一个是代币总量,我填写的是 1,000,000,000,000(即 1 Trillion),这个值自己随便填即可;第二个是代币名称,我的代币叫”physixfan”;第三个是代币代码,我的代币代码叫做”PHX”。大家可以发挥自己的想象力,填写自己喜欢的内容。

填写妥当之后,点击 Create。这时会弹出一个框,让你输入 Gas price 并且确认。这里是你第一次需要交油钱的地方。油钱多少决定了你的智能合约能够多快的上链。我操作的时候油钱只要 2 Gwei 即可几分钟之内上链,在 ETH Gas Station 上可以试试查看最新状况。

填好油钱,点击 confirm,就会弹出 MetaMask 的确认框确认付币了!确认支付之后,只需要耐心等待以太坊矿工挖矿,应该不久就可以在 Etherscan 上看到了。怎么找到自己发币的各种记录?要善用 Etherscan,顺着自己的 ETH 钱包地址去查看交易记录,相信你肯定找得到。我成功创建 PHX 代币的交易记录见这里,创建出来的代币地址见这里,在 Etherscan 上可以看到在经过了市场的洗礼后我自己的 ETH 钱包地址目前持有 999,999,999,997 枚 PHX。

走到这一步代币就已经创建完成了!目前在 MetaMask 里可能还看不到这个代币,需要自己添加:找到 Add token,然后点 Add custom token,把代币地址粘贴过去即可添加。在这里加好以后就可以做各种操作了!

3.1. 上交易所–ForkDelta

自己发了币,离成功就只有一步之遥了!接下来该上交易所了。大家耳熟能详的那些交易所,比如 Coinbase、GDAX、币安、火币等,还是想都别想了。在现在这个奇葩的币圈,上这种交易所的成本已经高达上千万人民币了。零成本能上交易所嘛?还真的可以!接下来有请本节的主角登场 — ForkDelta

ForkDelta 是一个去中心化交易所,其核心是一个以太坊上的智能合约,因此也只支持以太坊上的各种代币和 ETH 本身之间的交易。这个交易所的好处是,只要是以太坊上的 ERC20 Token,统统可以交易!!!

点击 ForkDelta 左上方的代币代码,然后在下拉菜单里找… 想得美,自己创建出来的空气币肯定不会出现在这里,不过可以选择下拉菜单最下方的 Other。把自己代币的地址粘贴过来,填一下代币代码,就搞定啦!

以我的 PHX 币为例,以后通过这个网址就可以进行 PHX-ETH 之间的交易啦:https://forkdelta.github.io/#!/trade/0x168359abe62618d907da316be172cdafca9633aa-ETH

ForkDelta 的交易过程也比较 self-explanatory,主要就是 deposit – buy/sell -withdraw 这几步,这里就不详细讲了。总之只要有人愿意买卖(这个人可以是你自己),就会在 ForkDelta 上留下真实的交易记录。因为这个交易所本质上是一个以太坊区块链上的智能合约,交易记录都是上链的,因此还具有了公开可查不可篡改的属性!比如 PHX-ETH 这个交易对的交易记录可以在这里查到:

3.2. 上有流动性的交易所–Uniswap

虽然ForkDelta也是一个交易所,但是它有一个严重缺陷就是小币种几乎没有流动性。比如只要PHX币我不挂单卖,你们就都买不到。2020年DeFi变得流行起来了,其中Uniswap作为专注解决流动性问题的去中心化交易所脱颖而出。Uniswap的机制大概是,用户可以选择把自己的币抵押给Uniswap以提供交易的流动性,作为回报,Uniswap上交易产生的手续费0.3%会被分给流动性的提供者。Uniswap上也可以给自己的(以太坊上的)代币提供流动性,比如PHX-ETH的交易对交易链接在这里:

PHX-ETH交易对的交易数据统计页面见这里

把自己的空气币搞到Uniswap简单来说需要这么几步:

(1)把Uniswap和前文介绍过的MetaMask钱包连起来。

(2)在Uniswap的Pool中Create a pair。

(3)在Uniswap的Pool中Add liquidity。其中第一次Add liquidity需要烧的gas有点高,不过也是低于100美元的。

(4)有了liquidity别人就能买到空气币啦!

我在把我的空气币放到Uniswap上之后,没想到几分钟之内就被别人买走了一点(几分钟之后就又卖回来了),如下图红圈中的交易,我猜测是有自动刷交易量的机器人在瞎搞。

4. 走向人生巅峰

如上图所示,公开可查的市场交易记录显示,用 0.1 ETH 可以买到大约 100 PHX。保守估计,按 1 ETH 价值 $300 来计算,1 PHX 的价值大约有 $0.3。而我持有大约 1 Trillion 枚 PHX,因此我的资产规模达到了可怕的 $300,000,000,000!妥妥的世界首富了!

照着本文提供的详细步骤操作,你也可以做到!

看起来非常离谱是吧,但这世界上的那么多 ICO,不知道有多少其实也就跟我这 PHX 半斤八两而已。。。


PS 有人可能会问,我这个币能干嘛用?我可以明确的说,没有任何卵用!纯空气币… 所以大家千万别买。

By physixfan