5 large

代币创建教程

shaoping · 于 发布 · 最后由 soapsuds回复 · 17499 次阅读

本教程主要参考以太坊官方博客,外加自己的实践。创建代币不需要自己写代码,只要会复制粘贴就可以搞定,这也是以太坊强大之处。

下载钱包

首先到这里(https://github.com/ethereum/mist/releases)根据自己的操作系统下载相应的钱包。

然后,创建一个以太坊账户。(具体的创建过程请见这个中文帖子:http://ethfans.org/topics/78 )。另外,你还需要一点以太币,大多数合约只需要价值不要1毛钱的以太币。如果你没有以太币,又不想到国外交易所折腾,可以选择用微信扫描下面的二维码直接在微信中购买:

创建账户并购买到1个以太币以后,钱包界面如下图:

创建新币合约

我们要创建的第一个合约是一个代币合约。以太坊生态系统中的代币可以代表任何可以交易的东西:币(coin)、积分、黄金证券、欠条(IOU)等。因为所有的代币都以标准化的方式实现一些基本的特性,这样意味着你自己创建的代币将于以太坊钱包、使用相同标准的任何其它客户端或者合约相兼容。

点击红框中的Contract(合约),看到如下界面。

将红框中原有的代码删除,将下面的代码粘贴到里面。

/*
This creates a public tradeable fungible token in the Ethereum Blockchain.
https://github.com/ethereum/wiki/wiki/Standardized_Contract_APIs

Unmodified this will create a cryptoasset with a fixed market cap
wholly owned by the contract creator. You can create any function
to change this contract, like allowing specific rules for the issuance,
destruction and freezing of any assets. This contract is intended for
educational purposes, you are fully responsible for compliance with
present or future regulations of finance, communications and the
universal rights of digital beings.

Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.

In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

For more information, please refer to <http://unlicense.org>

*/
contract MyToken {
    /* Public variables of the token */
    string public name;
    string public symbol;
    uint8 public decimals;

    /* This creates an array with all balances */
    mapping (address => uint256) public balanceOf;

    /* This generates a public event on the blockchain that will notify clients */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /* Initializes contract with initial supply tokens to the creator of the contract */
    function MyToken(uint256 _supply, string _name, string _symbol, uint8 _decimals) {
        /* if supply not given then generate 1 million of the smallest unit of the token */
        if (_supply == 0) _supply = 1000000;

        /* Unless you add other functions these variables will never change */
        balanceOf[msg.sender] = _supply;
        name = _name;
        symbol = _symbol;

        /* If you want a divisible token then add the amount of decimals the base unit has  */
        decimals = _decimals;
    }

    /* Send coins */
    function transfer(address _to, uint256 _value) {
        /* if the sender doenst have enough balance then stop */
        if (balanceOf[msg.sender] < _value) throw;
        if (balanceOf[_to] + _value < balanceOf[_to]) throw;

        /* Add and subtract new balances */
        balanceOf[msg.sender] -= _value;
        balanceOf[_to] += _value;

        /* Notifiy anyone listening that this transfer took place */
        Transfer(msg.sender, _to, _value);
    }
}

如果代码编译成功,在左边将看到Pick contract,如下图:

然后,选择MyToken选项,如下图:

然后,在右边更改系数,定制自己的货币。supply: 货币总量,name: 货币名字,symbol:货币符号,decimals:货币单位精确到小数点后几位。

下图定制的Shaopingcoin(少平币),总量10000个,货币符号:WL,货币单位精确到小数点后八位。根据自己的喜好,填写即可。 SELECT FEE(选择费用),左右拖动横轴选择支付多少手续费(这里就需要用到前面购买到的以太币了),越靠近右边,费用越高,完成合约的速度越快。例如,我选择了0.016131个以太币,大约需要30秒完成合约。完成后,点击DEPLOY(部署)。

点击DEPLOY后,自动转到如下界面,输入密码(即创建账户时设置的 密码),点击SEND TRANSACTION(发送交易)。

然后,会跳转到钱包主界面,你会看到下面红色方框中的信息,大约需要3-4分钟的确认时间,完成12个确认就可以了。

显示新创建的货币。

确认完毕,然后再进入CONTRACTS(合约)页面,你将看到刚才创建的货币,例如下图中的ShaopingCoin。

点击创建的货币,转到以下界面,复制红色方框中的合约地址,下面的步骤中要用到。

再次回到CONTRACTS(合约)页面,点击WATCH TOKEN(查看代币)。

弹出如下界面,将刚才复制的地址粘贴到红色方框中,会看到货币的名字、符号等信息。点击OK。

完成以后,在合约页面就可以看到新创建的货币了。

发送新创建的新货币

进入SEND(发送)页面,在右上角的红色方框中输入收款者的账户地址。在AMOUT中填写发送的数量,在右边的红色方框中选择要发送的货币。左右拖动横轴选择费用,越靠近右边费用越高,处理速度越快。下图表示向0xba960dbedc4c2e0774729b2def16764592ced454地址发送10个ShaopingCoin,交易费用是0.00253625个以太币。点击SEND(发送)。

跳转到如下确认界面,输入密码(即创建账户时设置的密码)。点击SEND TRANSACTION(发送交易)。

回到WALLETS(钱包)界面,会看到刚刚发出的记录信息。

收款者需要将新创建的币的添加到WATCH Token中才可以看到收到的币。收款者进入CONTRACT(合约)页面,点击WATCH TOKEN。发送者将创建的新币的合约地址通过聊天工具发给收款者。

将发送者新创建币的合约地址复制到红色方框中,点击OK。

收款者在WALLETS(钱包)页面将看到收到的币。下图显示收到了10个ShaopingCoin。

教程结束。

如果你想要ShaopingCoin,请在评论中留下你的账户地址,我会给你发送。也许以后值钱呢:)ShaopingCoin合约地址0xcb599a6f65d826f7a96ebe884a599f17fffc989b

  • 128
    wangliu

    0x299d83de632906b1f532e745c0b458b918b9cec2

  • 128
    wangliu

    我设定2100W 然后看交易费 就0.25 ETHER ? 是否哪里错了

  • 5 large
    shaoping

    #2楼 @wangliu 交易在一个范围内是可以调节的,交易费不会这么高的。

  • 5 large
    shaoping

    #1楼 @wangliu 发给10个shaopingcoin,你需要根据教程设置下,才能币收到了。

  • 128
    onestar

    好奇怪啊,我这一直没有确认的数目。。。。。。

  • 5 large
    shaoping

    @onestar ?你在创建自己的代币吗?

  • 128
    onestar

    @shaoping 是的,然后尝试了几次之后,现在创建成功了。。。😓

  • 128
    onestar

    @shaoping 发送的时候,输入密码但是一直不能 confirm 。。是为什么?

  • 5 large
    shaoping

    @onestar 同步到最新区块?账户中有少量以太币做交易费吗?把交易费设的高一些试试

  • 830 large
    flfq

    03b0077BB86e2591E7287F52dbE3331F1CabD0cE
    谢谢

  • 128
    wesley.chow

    0x8FC9Ad9B2C97fe495f0E52a45368ef4AC9725535
    玩一下,谢谢

  • 5 large
    shaoping

    @flfq 我的创建合约地址好像不用,抱歉。

  • 5 large
    shaoping

    @wesley.chow 抱歉,我的创建合约地址好像不用。

  • 128
    wskxjtzq

    学习到了,但还有些疑问,麻烦帮忙。

    “”进入SEND(发送)页面,在右上角的红色方框中输入收款者的账户地址。在AMOUT中填写发送的数量,在右边的红色方框中选择要发送的货币。左右拖动横轴选择费用,越靠近右边费用越高,处理速度越快。下图表示向0xba960dbedc4c2e0774729b2def16764592ced454地址发送10个ShaopingCoin,交易费用是0.00253625个以太币。点击SEND(发送)“”

    问题1:0xba960dbedc4c2e0774729b2def16764592ced454,这个地址是以太坊地址还是少平币地址?

    问题2:你是用哪个地址发送10个币到以上地址(454结尾)的?发送方的地址是以太币地址还是少平币地址?

    问题3: 截图(好像是倒数第5张)向位数454的地址发送少平币,为何截图上显示是向位数989b的地址发送?

    问题4:截图上的,“0xa9059Cbb”,这个字符串代表了什么意思?

    问题5:怎么接收方还不知道有“少平币“这个币种,他就能接受少平币了啊,好奇妙?

    问题6:以太坊地址、“”少平币地址“和“ShaopingCoin合约地址”三个概念把我搞糊涂了。特别是ShaopingCoin合约地址。或许问题1,2,3,4,5搞清楚了,问题3也就晓得了吧。

    问题杂碎了些,麻烦你了,确实看书看到卡起,挺脑壳痛的。谢谢啦。

  • 5 large
    shaoping

    @wskxjtzq 1、0xba960dbedc4c2e0774729b2def16764592ced454是一个普通的以太币地址。

    2、第二张截图红色框中的地址。发送方地址是以太币地址,我用这个地址创建了shaopingcoin合约,这个地址可以控制合约,从而可以向其它以太币地址发送shaopingcoin。

    3、尾数为989的地址是shaopingcoin的合约地址,我通过创建该合约的以太币地址调用该合约,让合约向尾数为989b的地址发送shaopingcoin。

    4、代表数据。你看那张截图data部分。

    5、。。。。。。。。

    6、少平币地址 == shaopingcoin合约地址。所有的代币都是用以太币的地址接收、发送。

  • 5 large
  • 128
    qiang

    我也要一点点shaopingcoin.
    0x699880ab37bc2146b57527503CA9c481b881e9fF

  • 128
    xstock

    根据您的指导试试构造过程,要不您也给一份shaopingcoin我看看账号建立的正确否?
    0xEde99b1eE93BB73eC959306C21B79D62060BFd21

  • 128
    xinmen

    0xE80d5919A41466E0648005D12f57fC00e35837fb

    我看好你哦

  • 128
  • 5 large
    shaoping

    @xinmen 不好意思,那个创建shaopingcoin的地址我现在不用了,暂时发布了。你自己创建自己的代币吧,很简单。

  • 128
    zwonder

    您好,我是一个初学者,准备用测试网络发一个代币玩玩,但是Ethereum Wallet 测试网络根本挖不到币,就想买点以太币。请问下,您出售的以太币是测试用的吗?

  • 128
    aarongm

    0x4D1B45E8aB61E3Ec0B970EE9afA2966f93B6E36d

  • 128
    tris

    0xF182a2feDB6246db88b864590de8604C18aD67C1
    跪求一点

  • 128
    tris

    初始化的账户里没有怎么办?

  • 128
    lhf418

    0xE8876F90D80Ab614A7C4A9Ea21f81ce39536790A 求币

  • 128
    lhf418

    想问这是怎么回事

  • 128
    jiguiquan

    用测试网络一直挖不到测试用的ETH,求赠一点,万分感谢;0xABc54437107dcFFEe21111570169Ddd0567092b5;(另外,请问你们节点同步大概用了多久,我这等得我快绝望了。)

  • 128
    800

    这个网站没有收藏文章的功能吗? 这么好的文章我怎么收藏呢?

  • 128
    zdd2389

    1、throw已经被废弃了,改用require
    require(balanceOf[msg.sender] < _value);
    require(balanceOf[_to] + _value < balanceOf[_to]);
    http://solidity.readthedocs.io/en/develop/control-structures.html?highlight=throw
    2、supply 发行总量要算上精度,比如发行总量是10亿,正常逻辑是1个1,然后后面10个0,但实际上要填1个1,然后后面18个0,这样最终的才行总量才是10亿,有点坑,不知道为什么。

  • 128
    3des1688

    这个可以通过挖矿获得新的代币呢?还是我发行的代币,就是我的,我已经拥有了所有的代币呢,想给别人转账多少代币都可以呢

  • 128
    knuthdai

    0x041Ab95c512de11A1387A98d7843Ee96B5a2224b

  • 128
    930635

    请问有没有人会创建代币 有偿 留下你的Q

  • 128
    930635

    @zdd2389 你创建成果了吗?方便留个Q吗 谢谢

  • 128
    zhangyaping

    0xbB430eDB1B16eD8abb0f1aFC67a4E7F39309d999

  • 128
    zhangyaping

    我也要shaopingcoin

  • 128
    loger

    那个微信购买不了,怎么购买?

  • 128
    loger

    0x81EC1C66b33E71EdCcA6e71d8C0814C87781086A

  • 128
    alvin

    发送代币,出现错误,这是怎么回事?

  • 128
    demon28

    请问发行的代币如何跟交易网站之间交互?是否有资料

  • 128
    alvin

    @shaoping
    能帮忙 解答下吗? 多谢!

  • 128
    soapsuds

    可以制作代币QQ289696223

  • 128
    qianyeyinfeng

    deploy以后还能对源代码进行修改吗?

  • 128
    bgmbgm

    求救,楼主或者那位大神能送我一个以太币吗,万分感谢!!!0x1FA3d35126E348e177EE1993116FfCA9921C4d74

  • 128
    hzcncbn


    完全粘贴代码,但是出错了,谁能帮下忙,指点一下,请加我的微信号:looe_cn 帮我搞定,我发红包。

  • 128
    soapsuds

    现在这个代币代码已经不能使用了,另外制作。
    代币在交易网站的存取--或者说接入代币功能演示


    QQ289696223