以太坊是区块链开发领域最好的编程平台,而Truffle是以太坊(Ethereum)最受欢迎的一个开发框架,实战是最重要的事情,这篇文章不讲原理,只讲如何搭建环境,手把手教你运行第一个区块链程序(Dapp)。如果需要系统学习可以参考文章末尾智能合约开发地址
什么是以太坊Dapp
简单来说,以太坊Dapp是一个去中心化的web应用,这个应用可以被内嵌到以太坊的网络中。与一般的web应用相比,以太坊Dapp在以下两点有所不同。
以太坊Dapp是与以太网的网络进行交互,而不是服务器。
以太坊Dapp需要用特定的浏览器来打开,因为普通的浏览器无法连接到以太坊的网络中。
不过以太坊也提供了一个叫做Web3的JavaScript API,用以接入以太坊的网络。而今天我们要谈的MetaMask和Mist是两个Web3上的浏览器,这两个浏览器相互兼容。而与其把MetaMask成为浏览器,不如把他看成一个Chrome浏览器的插件。
开发以太坊Dapp需要用到以下三个工具,但是如果你已经有Node.js基础并且做过一些web开发,那么这篇文章就刚好是为你写的。
Truffle
TestRPC
MetaMask
关于三个开发工具
Truffle:Truffle是以太坊最受欢迎的开发框架,简单来说,Truffle提供了很多实用的功能,包括对合约部署的管理,与合约交互的概念,以及对合约的测试支持等。
TestRPC:是一个基于Node.js的使用内存模拟的一个以太坊环境,它主要用于开发和测试。TestRPC完全运行在本地,因此运行速度比以太坊的真实环境快很多,是目前比较好的开发和测试环境。
MetaMask:正如前文所说,MetaMask是一款在Chrome上使用的插件类型的以太坊钱包。用户不需要下载,需要再Chrome浏览器上添加对应的扩展程序即可,非常轻量。简单来说,MetaMask允许用户与在Chrome中与Dapps进行交互
闲话少说,说干就干
接下来就跟着营长开发你的第一个Dapp吧!假定你是第一次开发Dapp,那么首先你要安装NPM(Node Package Manager),在NPM安装完成后,我们依次安装Truffle和TestRPC。
这里提一下NPM和NPM的安装。NPM的作用是帮助开发者分享和复用代码,也可以通过它来更新已经分享的代码。
由于NPM分部在Node.js之上,因此你需要先下载Node.js,当Node.js下载完成后,NPM就已经被自动安装了。这时你可以通过以下代码进行检验。
输入以下命令,检查Node.js是否被安装:
输入以下命令,检查NPM是否被?安装:
开发以太坊Dapp,第一件要做的事情就是安装TestRPC。最简单的安装方法就是「全局安装」(Globally),你可以通过以下命令来实现:
安装完之后,你就可以新建第一个项目了。可以通过以下命令实现
$ mkdir zhaoxi$ cd zhaoxi$ truffle init
这时会默认生成一个MetaCoin的Demo,可以从这个Demo中学习Truffle的架构,目录如图所示
项目所有文件目录如下图所示
安装Truffle
接下来就进入到了Truffle的安装,Truffle是眼下最受欢迎的以太坊开发框架,最简单的安装方法是将其安装为一个全局NPM包(global npm package)。你可以通过以下代码来安装Truffle
安装MetaMask,Chrom与Firefox都可以通过搜索插件来安装MetaMask,但是Chrom可以需要翻墙
通过以下代码,我们可以很简单地运行TestRPC:
这一指令将启动开发环境,并且生成用以太币进行先行融资(Prefunded)的账户列表,以及与各账户对应的私钥。
完成你的第一个Dapp!
到这一步,开发环境已经搭建好,可以开始部署你的第一个以太坊Dapp了!这里我们先生成一个最简单的Dapp,也就是Truffle中系统默认的货币类型
大功告成!是不是很简单呢?