区块链学习(四)以太坊truffle开发框架的安装使用

Truffle框架的官方文档:http://truffleframework.com/docs/

注意,区块链技术在发展,以太坊的项目迭代速度也很快,现在的truffle的框架命令已经与一月份有很大不同了,我参照网上别人的博客经验,由于版本不同,当时的命令已经有所改变,也给我带来很大困惑,总以为自己哪个步骤安装的不对。建议大家最好参照官方文档,获取最新版本的最新性质。

我本文记录ubuntu下truffle的安装与开发使用,对于windows环境下,我也尝试进行了搭建,确实会遇到各种各样莫名其妙的问题,首先要在windows下安装truffle,要先安装Node,git,python等环境,而且python的版本还有要求。对于其中的安装过程报的错误,大家可以把错误信息弄懂然后解决之后继续安装。对于一些权限的错误,建议在命令行(管理员)下进行,或者在powershell下进行。经过一路折腾,我还时成功在windows上安装了truffle框架环境,也能使用truffle init和truffle version等命令,然而在使用truffle compile 等命令的时候并没有任何的反应,经过一段时间还是没有解决这个问题,希望以后大家在windows平台上搭建成功之后能发表一些见解分享一些经验。

Ubuntu下安装truffle:

一般truffle安装的依赖环境有:Nodejs,git ,python,ubuntu下自带python,这里不做解释。

安装git:

首先,确认你的系统是否已安装git,可以通过git指令进行查看,如果没有,在命令行模式下输入sudo apt-get install git命令进行安装。安装完成后命令行输入git,出现一些git的命令表示安装成功,

安装完成后,还需要最后一步设置,在命令行输入:

$ git config --global user.name "YourName"

$ git config --global user.email"[email protected]"

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。

安装NodeJs,所以要先安装NodeJs环境:

安装nodeJS之前,如果没有安装g++及 libssl-dev,则先要安装好,安装方法如下:

$ sudo apt-get install g++

$ sudo apt-get install libssl-dev

接下来,就可以下载安装nodeJS了,目前稳定版本为 Node.js 0.6.18,下面是安装步骤:

$ wgethttp://nodejs.org/dist/v0.8.16/node-v0.8.16.tar.gz

$ tar zxvf node-v0.8.16.tar.gz

进入解压的目录:

$ ./configure

$ make && make install

最后一步的时候需要一定的时间,请耐心等待。

安装好后,在控制台下输入:

$ node -v

显示出版本信息则表示node安装成功。

如果安装过程包一些权限的错误,就在命令前加上sudo

准备好依赖环境之后开始安装truffle:

 $npm install -g truffle

等命令执行完之后,输入truffle显示出truffle的命令界面表示安装成功。

安装TestRPC:testrpc是以太坊区块链的模拟环境,不同于geth,geth是真正的以太坊环境,testrpc是在本地使用内存模拟的一个以太坊环境,对于开发调试来说,更为方便快捷,当你的合约在testrpc中测试通过后,再可以部署到geth中去。所以用truffle+testrpc进行本地开发测试方便快捷,能提升开发者开发测试效率。

安装命令:

$ npm install -g ethereumjs-testrpc

安装后在命令行里输入testrpc出现如下图所示:



表示testrpc安装成功,同时也开启了区块链测试环境,在进行开发部署中此窗口便一直开启着不能关闭。从图中也可以看到,此测试环境给你提供了是个账户,供开发者测试使用。

Truffle框架的使用:

新建一个test根目录,在命令行中进入这个目录,输入truffle init webpack(创建一个web应用),而truffle init命令现在则不会生成上层web页面实例。本文操作以truffle init webpack为例。

如图所示



如果你遇到这个命令卡住或者报了错误如下图



则在此命令前加一个sudo,即sudo truffle init webpack

当此命令执行完以后生成的框架文件目录如下:(将来要修改文件夹时候修改整个文件夹权限的命令式sudo chmod -R 777 ./test 修改test文件夹和其子目录权限为777)。



app文件夹下包含前端界面(展示给用户)与js文件(与智能合约互动)如下图


 

contracts文件夹下存放你的只能合约文件,如下图他生成了一个用例智能合约MetaCoin

将来你部署你自己的智能合约的时候可以将这个删除,把自己的只能合约放到此处



Migrations文件夹下包含对合约的配置文件如下图


下图是2_deploy_contracts.js文件代码,你可以部署自己的智能合约后,在这里修改此配置文件。



node_modules文件夹不用管是依赖环境。

Test文件夹下是存放一些测试文件。

打开另一个窗口输入testrpc开启区块链模拟环境。

然后再刚才的truffle生成的文件夹下输入命令:truffle compile进行编译如下图显示出了编译智能合约的信息.



输入truffle migrate命令,将只智能合约部署在区块链中如下图

注意:此过程前提是保证testrpc已经在运行中。



接着输入你npm run dev开启服务如下图所示:


打开浏览器在浏览器中输入:localhost:8080 回车看到如下图所示


 


这是truffle为你自动生成的一个基于区块链的web应用样例,在testrpc中找一个账户可以操作一下这个MetaCoin的转账样例。

我们可以在这个truffle生成的用例中学习他的结构,开发自己的web应用。

猜你喜欢

转载自blog.csdn.net/striver_jt/article/details/68553815