上一篇我们实践过智能合约的编写,调试,发布。但是有没有发现,提到在区块链上部署
合约一旦部署就无法修改,在公链上还需要花费gas.同时我们发现在命令行客户端编写智
能合约也不方便调试。所以本章介绍一个智能合约开发框架truffle.
1、安装brew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2、安装NodeJS
brew install node
3、安装truffle
npm install -g truffle
最近有发现truffle安装不稳定,所以通过执行以下两条命令来安装truffle成功率会高一些
npm config set registry https://registry.npm.taobao.org
npm install -g truffle
4、安装testrpc
testrpc用于truffle的调试,开启服务后可模拟节点并自带用户
npm install -g ethereumjs-testrpc
testrpc
5、truffle使用
初始化项目,会生成一个模板工程
truffle init
编译工程、部署、启动服务
truffle compile
truffle migrate
truffle serve
打开 http://localhost:8080/ 即可对刚才的truffle工程调试了
并从启动的testrpc服务输出栏中选取一个用户进行转账操作,并注意账户余额
6、truffle项目结构解析
通过以上演示,你会明白truffle大致的工作流程和效果,如需根据自己的业务场景进行智能合约修改工程文件即可。
下面来看看工程结构
app主要为web页面相关的文件夹
buIld是执行truffle compile生成的
contracts是编写的智能合约存储位置
migrations是truffle部署后引用智能合约的映射
truffle.js则是整个工程的配置文件
刚才在web页面上使用的功能在智能合约中实现为contracts文件夹中的MetaCoin.sol:
以上是truffle框架的使用方式,想要了解多更
可以参考项目官方地址:https://github.com/ConsenSys/truffle
帮助文档地址:http://truffle.readthedocs.io/en/latest/