ERC20代币开发35班--007不写就出局Eth

教你发行ERC20代币

2018-01-07  本文已影响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发行成功。

上一篇 下一篇

猜你喜欢

热点阅读