目前众多的山寨币都是基于以太坊开发出来的ERC 20标准代币,这也是为什么我要研究这个的原因,想看明白这些山寨币的潜在价值,从纯技术的角度来说,这些山寨数字货币似乎都没有太大的价值,因为随着以太坊工业级的开发平台形成,个人也可以开发和发行代币的,这篇文章就是要讲一讲如果使用Node.js,我们该怎么搞的问题。所以,从经济的角度来说,山寨数字货币存在极大的风险(发行方几乎0成本),那么现在市场上的溢价又是从哪里而来呢?从发行方想要用这个代币做什么事情而来,ETH生态你可以理解为“阿里巴巴”,众多的山寨数字货币,你可以理解为在“阿里巴巴”这个生态里的众多企业,有人发行了流量币,专门在电商领域里导流量来赚钱,而这个流量币是发行方用来募集资金所用,流量币的价值,在于发行方使用募集来的资金,去做这个导流的事情,这是一种通俗的讲法。
(注明:本文不构成投资建议,仅面向前端开发者,去了解如何开发发行个人的数字货币。另外本文的一些基础知识,需要本文的读者自行了解,默认你已经知道区块链基础知识,Node.js开发,网络协议等)
目前在Node.js生态里已经出现了“瑞士军刀”级别的开发框架,你可以无视原版Go实现的以太坊网络节点,也不需要了解太多以太坊的原理(当然是Demo级别),你可以通过访问 http://truffleframework.com/docs/getting_started/installation 来了解truffle项目,这个项目非常类似create-react-app或vue-cli(面向前端的开发同学),用它来启动一个ERC项目骨架。
npm install -g truffle mkdir MetaCoin && cd MetaCoin truffle unbox metacoin
(注明:unbox 是去下载某个工程的范例,类似脚手架工程,需要访问外国网站。)
如果你不需要这些脚手架工程,可以使用 truffle init 去重新创建一个新的项目。
接着,你需要选择以太坊网络,目前truffle官网上推荐了多种不同的以太坊客户端,这些客户端主要针对你是选择开发还是部署等等场景,如果是开发的话,可以直接使用truffle develop,也正好与truffle框架配套,不用去做多余的配置。其中,有一行警告,你必须要认真对待:“Do not use this mnemonic on the main Ethereum network (mainnet). If you send ETH to any account generated from this mnemonic, you will lose it all!”,不要向这个网络发送任何ETH就好。
在已经下载好的工程中,主要关注两个目录“contracts”和“migrations”,前者属于合约,后者属于部署脚本,你可以把一些名字换成你自己的,仔细阅读“http://truffleframework.com/docs/getting_started/contracts” 来做配置的更改。
接着你需要创建一个“4_example_migration.js”文件,然后编写:
var MyContract = artifacts.require("MyContract");
module.exports = function(deployer) {
// deployment steps
deployer.deploy(MyContract);
};
编译合约和部署合约,这两个操作就是两个命名:truffle compile 和 truffle migrate,过程会有一些时间。
基本上一些其他的开发方式和你开发一个Node.js应用一样,使用npm来管理模块,然后用JavaScript去做一些业务上的开发。truffle的配置文件主要在truffle.js中,一些其他的代码,你可以根据你的业务场景去做一些开发。
现在,你可以编写一些测试代码来测试你的代币发行是否成功(http://truffleframework.com/docs/getting_started/javascript-tests)。
至此,开发阶段就已经结束了,大家已经看见了,基于以太坊智能合约的开发入门非常的简单,但是目前区块链生态里的应用还非常的有限和单薄,目前应用场景最多的就是ico,通过代币来募集资金,进行项目的运作。
最后推荐一个有趣的项目,区块链领域里类似知乎的一个平台,有用的学习资源比较多,现在还可以实名注册,地址: https://zt.bihu.com/?id=39768