手把手教你发行代币

哈耶克的理想

哈耶克在《货币非国家化》中惊世骇俗地提议国家放弃货币铸造垄断,允许私人发行货币,各种货币通过自由竞争筛选出几种稳定的主流货币。通过经济学分析,哈耶克得出结论,自由竞争出来的私人货币将优于垄断发行的法币。在当时条件下,哈耶克的实验还不能真正开展。但如今,区块链实现了哈耶克的部分想法,私人发行货币。至于能否像哈耶克预言的那样,自由竞争出优于法币的货币,还待时间检验。
手把手教你发行代币_第1张图片
哈耶克Hayek

ERC20代币

目前,应用最广泛的代币(区块链货币)是在以太坊上发行的ERC20代币。ERC20可以看做是一个智能合约。这个智能合约能追踪谁拥有多少该代币,并包含一些代币转移函数。如果你写的代币智能合约符合ERC20的标准,你的代币则被称之为ERC20代币。

很多类似的ERC20的概念,当你只听人们谈论它们的时候,会觉得很复杂。其实最简单的理解方式就是你自己来实现它。

发行ERC20代币

一个ERC20代币是一个智能合约,合约里记录了账户代币余额数据和转移代币的方法函数。在以太坊上部署智能合约之前,可以在测试环境中测试智能合约。有一些以太坊测试网络可以使用,我们这次发币实验选择Rinkeby网络。
1、在Chorme浏览器的metemask钱包中,选择rinkeby测试网络。

手把手教你发行代币_第2张图片
metamask_testnet.jpg

2、在测试网络中,我们可以在 Rinkeby“借”一些以太币(ETH)用来付油钱(跑智能合约需要消耗 Gas)。“借”的ETH是不用还的,因为测试网络中ETH没有价值。
手把手教你发行代币_第3张图片
faucet_getETH.PNG

为了防止滥用借币功能,需要社交账号验证。地址栏中是一条带有收币账户的Facebook消息(Post)的地址。
手把手教你发行代币_第4张图片
图片发自App

在Facebook中发一条Post,内容为收币地址,也就是metamask钱包的账户地址。post设置为公开。右击发文时间,复制链接,填入Rinkeby Faucet中。选择借3个ETH,使用期8小时,等待一会就可得到这3ETH。


faucet_funded.PNG

在metamask钱包中也可以看到这笔ETH到账了。


手把手教你发行代币_第5张图片
metamask_funded.PNG

1805美刀!你想多了,这是测试网络,不是真钱。

3、钱和钱包都有了,下面开始编写发币智能合约,我们选择Remix在线开发平台。ERC20代币有大量案例可以参考,直接借用嘛。

手把手教你发行代币_第6张图片
github_eip20.JPG

把这两个sol文件拷贝到Remix环境中,把EIP20.sol改名为HayekToken.sol。没错,我们发行的代币叫哈耶克币,致敬哈耶克。合约名称和构造函数名称都改为HayekToken。
手把手教你发行代币_第7张图片
remix_code.PNG

编译智能合约后,Run让它飞起来。


手把手教你发行代币_第8张图片
remix_config.PNG

这里要填写一些配置信息,Environment运行环境选“Web3”,因为我们用的是metamask钱包;Account账户填写metamask钱包账户;Gas limit交易费上限,这个多填写一点没关系,测试网络里不消耗真实费用;Value合约转账金额,这里是0Wei;选择HayekToken智能合约;填写发币信息(合约构造函数的输入参数),发币数量21000000(和比特币一样,向中本聪致敬),货币名称HayekToken,最小货币单位0(decimaUnits),货币简称HYT。
填完了配置信息,点“Create”,合约就跑起来了。接着metamask钱包跳出来了,需要我们确认“交易”,点击“Submit”。


手把手教你发行代币_第9张图片
metamask_transaction.PNG

remix_pending.PNG

需要等待几秒种,等待网络出块,将信息写入区块链。

4、验证
智能合约发布后,Remix中出现了智能合约地址:0x6564a2b9384e03ada0496401360fe17a4d376bda
也可以查看账户余额,注意账户输入时要加“”,点击“balanceOf”


remix_balanceOf.JPG

可以看到2100万的HYT在我的账户中。

在metamask钱包中添加Token,也可以看到这笔代币。

手把手教你发行代币_第10张图片
metamask_token.JPG

注意到只剩下2.998ETH了,这是因为跑智能合约消耗了gas。
我们再试试我们发的货币能不能转账。
remix_Transfer.JPG

在Remix中合约的transfer里输入另一个账户(带“”哦)和数量100,点击“transfer”发出代币。
手把手教你发行代币_第11张图片
etherscan_tokentransfer.JPG

以太坊浏览器可以看到这笔交易,说明已经写到以太坊区块链(测试网络)。
再看看收款账户中的余额。
手把手教你发行代币_第12张图片
metamask_get100transfer.JPG

发币成功!

区块链代币和Q币真的不一样

区块链代币发行很简单,和其他代币,比如Q币有什么不同呢?

代币充当的是专有领域的流通媒介。Q币可以购买腾讯的虚拟服务,游戏币可以抓娃娃,食堂餐牌可以打饭打菜。普通代币(Q币、游戏币、餐牌)和区块链代币(ERC20)有什么区别呢?核心的区别其实不是中心化和去中心化的区别,而是能否自由兑换的区别。Q币只能在腾讯的平台用法币充值,但不能把Q币兑换成法币。游戏币只能抓娃娃,不能买零食。餐牌只能在食堂内使用。而区块链代币可以在交易所兑换成另外一种代币,也能在场外兑换成法币。

手把手教你发行代币_第13张图片
图片发自App

这一点区别就产生了巨大的不同,区块链代币能自由交易,就形成了交易市场,就有波动,有金融属性。庄家币、传销等骗局利用区块链代币金融属性大肆敛财。各国为了保护小投资者(不合格投资者),对区块链代币采取不同程度的监管。

代币的激励机制

delegatecall,区块链上的知乎。
币乎,区块链上的公众号。
CryptoKitties,区块链上的电子宠物。
Steem,区块链上的博客。

这些类比其实非常不准确,因为引入了区块链代币,引入了激励机制,这些应用中投资者和用户是一体的。也就是说引入代币激励后,持有代币就成为股东,股东当然期望这款应用广泛普及,甚至为应用做出贡献,待代币升值获得利益。同时,持有token也是用户,可以使用代币购买应用服务,甚至租赁代币给别人。这就让引入代币激励的应用和普通应用截然不同,虽然普通应用也可能有积分奖励,但积分不能自由流通,不能随意换钱。

建立在区块链代币上新的生产关系正在产生,你也发个币试试。

你可能感兴趣的:(手把手教你发行代币)