教你发行ERC20代币

作者: 程序员大叔日记 | 来源:发表于2018-01-07 18:35 被阅读11310次

    本文由币乎(bihu.com)内容支持计划奖励

    以太坊的出现使得大家可以很方便的以太坊上发行自己的代币,这些代币都遵循ERC20协议(现已有ERC23协议)。智能合约编程支持合约的继承(类似面向对象语言中类的继承和接口的实现),因此ERC20协议可以定义为一个接口。

    下面便是符合ERC20协议的智能合约

    contract ERC20 {

            function totalSupply() constant returns (uint totalSupply);         //获取总的发行量

            function balanceOf(address _owner) constant returns (uint balance); //查询账户余额

            function transfer(address _to, uint _value)returns(bool success); // 发送Token到某个地址(转账)

            function transferFrom(address _from, address _to, uint _value) returns (bool success); //从地址from 发送token到to地址

            function approve(address _spender, uint _value)returns(bool success);//允许_spender从你的账户转出token

            function allowance(address _owner, address _spender) constant returns (uint remaining);//查询允许spender转移的Token数量

            event Transfer(address indexed _from, address indexed _to, uint _value);//transfer方法调用时的通知事件

            event Approval(address indexed _owner, address indexed _spender, uint _value); //approve方法调用时的通知事件

    }

    搭建自己的以太坊网络中介绍了如何搭建自己的以太坊私有网络,接下将在我们自己的网络上发行我们自己的代币。

    智能合约Solidity 的开发使用Webstorm作为编辑器使用NodeJs进行开发。使用Truffle和geth作为部署工具,因此需要提前安装NodeJs和Truffle,直接去官网下载即可。

    由于智能合约支持继承的方式,我们只要让我们自己的智能合约继承开源的遵循ERC20协议的合约便可以很方便的实现我们自己的代币合约。

    在我们本地的文件中运行:

     truffle unbox tutorialtoken

    从Truffle官网下载tutorialtoken项目,接下来把zeppelin-solidity项目作为依赖工程导入到我们的项目。

    npm install zeppelin-solidity

    定义自己的智能合约TutorialToken,注意:我们让TutorialToken继承自合约StandardToken

    contract TutorialToken is StandardToken{}

    StandardToken已经继承了ERC20协议并实现了相关的方法。

    我们的合约名称是TutorialToken,代币名称是LYBToken,总量是12000个。

    使用Truffle compile命令进行合约编译

    Truffle migrate 将合约部署到以太坊网络上,注意:部署时eth网络必须运行且处在挖矿模式,需要消耗gas,并且解锁账户。

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

    合约部署成功,使用npm dev run进行测试

    可以看到账户里已经有了初始的12000个LYBToken,可以进行转账等一系列操作。

    至此我们自己的ERC20代币LYBToken发行成功。

    相关文章

      网友评论

      • 8337ea5e8883:您好,看到您的文章质量非常高,想邀请您成为虫洞社区的首批优质内容签约作者。虫洞社区是专业的区块链技术学习社区。虫洞社区鼓励内容生产者产生高质量内容,并给予合理的回报,也希望能帮助内容消费者获得高质量的区块链内容,并让数字货币投资者获得有价值的投资洞见。同时,虫洞社区已经积累了大量的区块链深度从业者,便于作者建立个人品牌。不知道是否方便加您微信细聊?
        程序员大叔日记:@梨涡浅笑_efc4 微信号 qq240142452
      • 6535f9f8a581:按照你的流程,但是最后没有生成,看了下页面报错:http://localhost:3000/TutorialToken.json Failed to load ,这个TutorialToken.json文件没有,求指教
      • 投资麻辣烫:谢谢你的教程
      • 蜜糖771:很详细的教程:clap:
      • 4f9e183e7733:很赞,清晰明了,对于不懂代码的我简直是大神之作。技术大牛,希望有空能分享一下各种技术的优缺点,以及应用场景,谢谢。

      本文标题:教你发行ERC20代币

      本文链接:https://www.haomeiwen.com/subject/fbysnxtx.html