查看原文
其他

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

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


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


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


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



    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行代码足够生成一套虚拟货币,当然如果你想要更多更复杂的功能则同样需要更多代码,本文仅用于演示故最简化。


    

然后选择Rinkeby测试网络进行部署。


    

    缴纳一定gas费部署合约,可以在https://faucets.chain.link/rinkeby中获得一定Rinkeby测试币。



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



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



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



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存