前言:

周一听了oldlee《如何发行基于以太坊的数字货币》的精彩演讲,才发现发行以太坊ERC20 Token很简单,这是一件小白也可以做到的事情。以下是我对本次讲座内容的实践:

 

一、安装环境

1、在chrome浏览器安装MetaMask插件

安装完成后,你会看到chrome右上角有一个新的图标。

安装MetaMask插件

2、新建钱包

输入密码,保存助记词

3、使用测试网络

由于使用以太坊主网络发布智能合约需要真正的ETH,在这里我使用的是测试网络(如果要在主网络发布一个Token,只需要选择主网络)

切换到测试网络

 

4、领取测试用的ETH

点击“Buy”

 

MetaMask插件

点击"ROPSTEN TEST FAUCET"

 

MetaMask插件

点击绿色的按钮“request 1 ether from faucet”,就可以领取1ETH

 

MetaMask Ether Faucet

或者在这个网址领取3个测试用的ETH

 

Ethereum Ropsten Faucet

如果两个都领取的话,那么此时你总共就有4个ETH了

 

MetaMask插件

 

二、编辑代码

由于以太坊智能合约使用的是Solidity语言,所以需要使用Solidity开发。

在这里我使用的是Remix,这是一个在线的Solidity编译器。

 

Remix是一个在线的Solidity编译器

1、拷贝代码

代码可以从这个网址拷,然后粘贴到Remix左边的代码编辑区就可以了

 

智能合约代码

2、设置参数

:大家注意在网页右边的"Run"中的“Environment”设置为“Injected Web3”,如果遇到无法选择“Injected Web3”的情况,请刷新一下。

“Create”中填入创建的Token参数,

第一个参数是Token的数量;

第二个参数是Token的全称;

第三个参数是Token的精度,即Token最小为小数点后几位;

第四个参数是Token的符号;

例如:100000000,"zhongxh's test token",8,"ZTT"

上述例子代表创建的Token的全称是"zhongxh's test token",符号是“ZTT”, ZTT的最大精度为小数点后8位,即最小是0.000000001ZTT,总共有1亿份,那么总共有100000000 * 10^(-8)ZTT,即1ZTT

点击“Create”按钮

以太坊智能合约的编辑、编译和创建

3、提交智能合约

点击“Create”后,就可以看到MetaMask弹出的“CONFIRM TRANSACTION”的页面,这个页面是用来确认发送的,点击“SUBMIT”提交。

以太坊智能合约的编辑、编译和创建

 

提交智能合约

 

点击“SENT”,可以看到刚刚创建的合约。

点击该智能合约

红色框里面是刚刚创建的智能合约

 

点击刚刚发布的智能合约地址,就会跳转到Etherscan(以太坊的区块浏览器),耐心等待智能合约的创建。

 

以太坊的区块浏览器

4、发布智能合约

Contract address为上面创建的合约地址;

Contract name为在Remix中选择创建的合约名称HumanStandardToken;

Compiler版本需选择在Remix进行合约创建时选择的编译器版本一致;

是否优化Optimization也需要与Remix发布合约时保持一致;

在“Enter the Solidity Contract Code below”中填入之前在Remix中的solidity合约代码;

在“Constructor Arguments ABI-encoded”中填入构造函数参数(100000000,"zhongxh's test token",8,"ZTT")的ABI编码,这个编码可以在创建合约的transaction的Input data中找出,如下图蓝色选中的部分即是构造函数参数的ABI编码(b0029之后所有的数据)。

请注意:以上都要和Remix发布合约时保持一致,否则没办法生成一个有效的ERC20 Token。

 

点击Verify and Publish,如果验证通过了就会出现如下页面:

 

刷新一下页面,点击Contract Source标签,就能看到上传的合约源代码了:

 

三、验证

因为Metamask不支持toekn的发送,我们切换到MyEtherWallet钱包。

需要注意的是,MyEtherWallet也需要切换到Rostpen网络

 

切换到Rostpen网络

接下来切换到“发送以太币/发送代币”

 

解锁以太坊钱包

在这里我选择用私钥的方式解锁钱包,私钥可以从Metamask获得

点击Metamask右上角的“...”,然后点击"Export Private Key ",输入密码,即可获得私钥

 

导出私钥

将私钥拷到MyEtherWallet,就可以解锁你的钱包了。

点击右下角的“Load Token Balance”

钱包已解锁

 

右下角显示的正是刚刚创建的Token,也就是ZTT,余额为1,这表明我的ERC20 Token发布成功了!

ERC20 Token发布成功了

 

 

四、后话

没想到发布一个以太坊的ERC20 token这么简单,这么方便,这也是为什么那么多个区块链项目利用以太坊进行爱西欧的原因。

但也正是因为简单,才招惹了很多传销组织和骗子,打着区块链的旗号骗人骗钱,因为这几乎是没有成本的买卖,希望大家在接下来的日子擦亮自己的眼睛,为自己的投资负责。

我希望通过这篇文章,让读者知道如何发布一个以太坊的ERC20 token, 成为读者入门以太坊智能合约的“最小必要知识”。



作者:钟晓宏
链接:https://www.jianshu.com/p/e6ca8122a3a3/
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

©著作权归作者所有:来自51CTO博客作者yetaoaiueo的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 币安永续资金费率套利
  2. 计算机网络 扩展的以太网 简记
  3. 合约跟单系统开发方案【现成源码】
  4. 合约跟单社区系统开发
  5. NA(Nirvana)公链“为应用而生” NAC公链领跑公链新格局!
  6. DEFI去中心化金融的机会在哪里?
  7. 科普NA公链(Nirvana):NAC公链采用基于NIO的Netty,实现链上应用百万级
  8. 助力网络基础器件革新:全新单芯片可编程BASE-T PHY /控制器/桥
  9. 以太网的下一阶段:400GE网络

随机推荐

  1. 关于csharp的实例教程
  2. 微信公众平台SDK核心库的详细介绍
  3. C#集合类有哪些?
  4. C# 中GUID生成格式有哪些方法
  5. 总结MVC中数据验证实例
  6. C#中如何实现ftp图片上传功能的图文代码
  7. SignalR简介及用法介绍
  8. WPF实现好看的跑马灯特效实例
  9. 去重和排序如何操作
  10. C#串口通信的实例教程