基础环境
- NodeJ 5.0+
- Python 3
- Windows,Linux or Mac OS X
安装
npm install truffle -g
通过上述指令安装truffle,目前truffle的版本在3.0+,需要将本机python升级到python3。通过truffle指令可以验证是否安装成功。
在开发过程中我们一般安装TestRpc来作为测试网络,也可以选择不安装,自己通过geth来启动环境或者truffle 的develop环境。
npm install -g ethereumjs-testrpc
同样我们通过testrpc来验证是否安装成功
如果期间出现各种报错情况,请查询下网络是否能访问github等各种国外网站,具体解决请自行处理,如果是python扩展安装失败,请核对python版本
创建项目
mkdir demo
cd demo
truffle init
通过上述指令生成的初始化的truffle目录结构为
这就是一个最简单的truffle项目目录
-contracts //智能合约存放目录
-migrations //智能合约abi及部署信息存目录
-test //测试文件
-truffle.js //truffle默认配置
-truffle-config.js //Windows下默认配置文件名与truffle冲突,可使用该文件解决
那我们如何生成一个带用户界面的项目呢,在truffle的旧版中可以直接通过init来生成带用户界面的项目,但是在新版中已经移除了,可以通过安装官方实现的基于webpack的box来创建。
truffle unbox webpack
执行成功后我们对比下目录
启动项目
首先我们在另一个环境将以太坊的网络启动,通过testrpc指令就能启动本地网络,启动结果如上图我们验证testrpc安装成功结果。我们另起一个Terminal,进入到项目目录。
truffle compile //编译智能合约
truffle migrate //部署智能合约 在truffle2中使用truffle deploy
在我们启动项目之前我们需要再安装一个插件web3,大家注意,这里有一个很坑的点,web3要求python版本为python2,大家可以先安装web3再安装truffle。
npm install -g web3
安装完成后我们可以开始启动项目了,在这之前我们需要修改项目根目录中的truffle.js文件,将里面的port改为8545,即testrpc监听的端口。
npm run dev
执行结果如下
到此整个项目就启动成功了。在我们访问项目之前,我们需要在chrome浏览器中安装一个扩展MetaMask
然后打开MetaMask创建一个账号,我们需要将网络切换到本地环境,并且导入testrpc提供给我们的账号
然后将账户切换到我们刚导入的账户,此时我们就可以访问localhost:8080了
如果你看到这个界面了,那就说明你的项目已经正常运行起来了,接下来你就可以尽情的浪了
反馈与建议
- 邮箱:alphejangs@gmail.com
- wx: Mr_Alpher