# 如何用5行代码发行一套虚拟货币？

By [Jason chen](https://paragraph.com/@jason-chen) · 2022-04-11

---

经过前几篇文章，相信各位已经清楚如何发行NFT、NFT的本质是什么，以及NFT目前所面临的问题。

NFT的本质与虚拟货币没有很大差异，只是NFT是不可分割的非同质化代币，而虚拟货币则是可被分割的同质化代币，NFT遵循的主流协议是ERC721，虚拟货币遵守的则是ERC20，本文将为各位讲解如何从0到1发行一套虚拟货币，注意按照中国最高法自3月1日生效的解释，虚拟货币被归类为非法集资，本文不建议在中国进行任何商业行为的虚拟货币发布，仅为各位科普虚拟货币底层的本质原理，从而帮助大家认清楚为什么大多数虚拟货币可能存在巨大的泡沫，甚至被称为空气币。

代币可以将其理解为一个组织中的经济运转体系，它可以映射为是一个游戏中的积分、也可以是一家公司的股份、也可以是你宠物的所有权，dao的组织治理也离不开代币，所以如果它映射的实体是具备价值的，则代币也同样具备价值，但之所以虚拟货币有巨大的水分是因为其演变成了一种民间IPO，即某人想做一件事，可这件事还没影呢，就先写一份白皮书昭告天下，然后发一套代币让大家认购，承诺这件事做成了所有持有代币的均会获得等比例收益，最终收割一波卷钱跑路。

ERC20提供了一种同质化代币的标准，其实它和ERC721相似度比较高，我们首先看一下该协议提供的方法，即我们可以对该代币进行什么操作：

![](https://storage.googleapis.com/papyrus_images/001ec2ccc37d8c1a03106988d09a27401c4e40a0f08fc5919736c5fcdb4bd326.png)

name()是该代币的名称，你可以叫它大傻币。

symbol()是其简称，可以是DSB。

decimals()是可以最小被分割的位数，如0.01，则意味着最小的单位是1分钱。

totalSupply()是总供应量，如1000，则意味着共有1000个大傻币。

balanceOf()用于查询某个人持有的大傻币总数。

transfer()用于将我持有的若干个大傻币转移给某个地址。

transferFrom()则是将A地址的若干大傻币转移给B地址。

approve()则是我授权B可以使用我的若干个大傻币。

allowance()可以查看B还可以使用多少个A的大傻币。

以上9个方法则构建了整个大傻币的运转体系。

我们打开remix，首先定义编译版本为0.8.0，然后导入ERC20的包，最后定义合约DSB依赖自ERC20，内部执行mint为我自己铸造1000万个大傻币，仅这5行代码足够生成一套虚拟货币，当然如果你想要更多更复杂的功能则同样需要更多代码，本文仅用于演示故最简化。

![](https://storage.googleapis.com/papyrus_images/e4b4bb23687c166fca7ebfe31e33a290cec6c2f93b06e16cdb3127baa7455d52.png)

![](https://storage.googleapis.com/papyrus_images/b246fc731123a20287a0d5f089ff3992f97fae8d08b3e8042f3088e5d26f906a.png)

缴纳一定gas费部署合约，可以在[https://faucets.chain.link/rinkeby中获得一定Rinkeby测试币。](https://faucets.chain.link/rinkeby%E4%B8%AD%E8%8E%B7%E5%BE%97%E4%B8%80%E5%AE%9ARinkeby%E6%B5%8B%E8%AF%95%E5%B8%81%E3%80%82)

![](https://storage.googleapis.com/papyrus_images/e84c083fbcbadf95facf9aa4f23a5a106733ee20a3a49dff8acdff4efb808462.png)

完成部署后，可以看到我现在持有了1000万个大傻币。

![](https://storage.googleapis.com/papyrus_images/6bcc257b9ef21dd6ca10c41a503b109c26f4af6d890e506e1fa709d6f45f0de4.png)

在Etherscan中也可以查看到大傻币的交易记录等相关信息。

![](https://storage.googleapis.com/papyrus_images/1005348de23d061651d8fb09e640bd58e397805fda80d9e0c535fabbf8f1d1ca.png)

所以最简单的情况下只需要5行代码，用5分钟就可以发行一套属于自己的虚拟货币，现在你明白为什么币圈会这么乱了吗？

欢迎添加我的微信：cj350306878 一起交流学习探讨，请备注姓名 公司和职位，谢谢。

其他文章：

*   [可以退款的ERC721R会成为闯入NFT市场的鲶鱼吗？](https://mp.weixin.qq.com/s/LWNDkqrOgBkAX_-Q1ue9Vg)
    
*   [那个可以跨链的Gh0stlyGh0sts会成为下一个Azuki吗？](http://mp.weixin.qq.com/s?__biz=MzU0MzgyNjc3MQ==&mid=2247483939&idx=1&sn=776834ea87918d2bd1a291c99547ba45&chksm=fb04341fcc73bd09879947945e0345b1b087bf9ee2f95aa7e67ee3056acacb1abf37ccba9892&scene=21#wechat_redirect)
    
*   [如何做一个钓鱼网站偷走周杰伦的NFT？](http://mp.weixin.qq.com/s?__biz=MzU0MzgyNjc3MQ==&mid=2247483914&idx=1&sn=f0b64d82edb21edadac8026bf5a916c0&chksm=fb043436cc73bd2011fe5130a591631dbf837f9e64ff6b6f5d8d68a7ade097d1955d85039fc1&scene=21#wechat_redirect)
    
*   [ERC1155是什么？以阿迪达斯NFT为例解析](http://mp.weixin.qq.com/s?__biz=MzU0MzgyNjc3MQ==&mid=2247483891&idx=1&sn=b83b74b1f6d34b4609886e3f3614c1cf&chksm=fb0437cfcc73bed96264b08823dba695394927e957314518a61aa24aead12d26f7c257589ba0&scene=21#wechat_redirect)
    
*   [怎么通过看懂etherscan了解NFT项目情况？](http://mp.weixin.qq.com/s?__biz=MzU0MzgyNjc3MQ==&mid=2247483868&idx=1&sn=59fcaf88498f5d27cbb038c3dbf17bd7&chksm=fb0437e0cc73bef614f604b7b82d31bc39804f890d50515e01a73c3f5c4678c7b9a4b3d13da4&scene=21#wechat_redirect)
    
*   [我是怎么让V神给我转了一个NFT的？](http://mp.weixin.qq.com/s?__biz=MzU0MzgyNjc3MQ==&mid=2247483830&idx=1&sn=e5df3cf9f507efdaea639a8d4609a913&chksm=fb04378acc73be9cbe36c0e468716be904503008083982f45cb2f740273413928c4e8ce39c4d&scene=21#wechat_redirect)
    
*   [web3的产品架构和web2到底有什么区别？](http://mp.weixin.qq.com/s?__biz=MzU0MzgyNjc3MQ==&mid=2247483795&idx=1&sn=f517a10415078e36920e59db5c935475&chksm=fb0437afcc73beb9c274829a5ccdf0ce404416b6f81b60c6245066ef572500d4c54bfae4c47d&scene=21#wechat_redirect)
    
*   [为什么你在opensea“铸造”的NFT不需要交gas费？](http://mp.weixin.qq.com/s?__biz=MzU0MzgyNjc3MQ==&mid=2247483784&idx=1&sn=b216918a73392ddbcc69efb04988da5b&chksm=fb0437b4cc73bea2e2ba60afbae55ee1d2dd5be806da89b066ab90b47b5d8352e27e086c609a&scene=21#wechat_redirect)
    
*   [如何用5行代码发行一套虚拟货币？](http://mp.weixin.qq.com/s?__biz=MzU0MzgyNjc3MQ==&mid=2247483772&idx=1&sn=89bedacaaa642162b8d48e5b56dc8796&chksm=fb043740cc73be56b586fe8e1ad598548ebd4181a0799014d317581a20816d21c3de1bc268fc&scene=21#wechat_redirect)
    
*   [阿狸NFT到底做错了什么？](http://mp.weixin.qq.com/s?__biz=MzU0MzgyNjc3MQ==&mid=2247483760&idx=1&sn=3df35eed0200d80e7957ec9b64414ace&chksm=fb04374ccc73be5a963704f3cf34b4326edf31c842e452b2c9a8dc6d29617edd57ba453705c2&scene=21#wechat_redirect)
    
*   [web3的世界一片蛮荒-详解ERC721A](http://mp.weixin.qq.com/s?__biz=MzU0MzgyNjc3MQ==&mid=2247483754&idx=1&sn=c67a5ec2c70d03d4dcb786458d07860e&chksm=fb043756cc73be40027ed1d5c4132bae513b897544078592485887a1e8c4898720835260d500&scene=21#wechat_redirect)
    
*   [如何在一级市场发行NFT（2）：NFT图片生成](http://mp.weixin.qq.com/s?__biz=MzU0MzgyNjc3MQ==&mid=2247483737&idx=1&sn=bf525bef38f9716fa59d38c410d7068c&chksm=fb043765cc73be731fb65d0a7a8d75136c38c5210e67cd36cc0a4bc71fa883522b2dd827a320&scene=21#wechat_redirect)
    
*   [当你在买NFT时，你买到的究竟是什么？](http://mp.weixin.qq.com/s?__biz=MzU0MzgyNjc3MQ==&mid=2247483721&idx=1&sn=06e96729063655a2f103143b007a8707&chksm=fb043775cc73be6365d1499081073977798f86a5cba98d065bb7efdb68a9b32a91d8fce998a0&scene=21#wechat_redirect)
    
*   [NFT的130亿美金是从哪里来的？它与虚拟货币之间的关系是什么？](http://mp.weixin.qq.com/s?__biz=MzU0MzgyNjc3MQ==&mid=2247483689&idx=1&sn=6d08a4f92972073b8966b93fe0fc5a14&chksm=fb043715cc73be039d01157e1dd6a56e5bc90d2c3ae59521f373c021cef174b0fb1fcf3e4ecb&scene=21#wechat_redirect)
    
*   [如何在一级市场发行NFT系列（1）：区块链合约开发](http://mp.weixin.qq.com/s?__biz=MzU0MzgyNjc3MQ==&mid=2247483687&idx=1&sn=b1843982bf62367ee59b78ddda91c3a5&chksm=fb04371bcc73be0d75bfb7272b17604139d98e2e560bdde40859af9d44a431130f80176855ea&scene=21#wechat_redirect)
    
*   [浅谈我对元宇宙、Web3、区块链与NFT的理解](http://mp.weixin.qq.com/s?__biz=MzU0MzgyNjc3MQ==&mid=2247483664&idx=1&sn=bcf16ebc64aa00b97e6da7f52f9db718&chksm=fb04372ccc73be3adc86c44daec8b0c7ab882c942ed7c0dbcd9f0683a9ba846065fe37d4877f&scene=21#wechat_redirect)

---

*Originally published on [Jason chen](https://paragraph.com/@jason-chen/5)*
