上一篇我们实践过智能合约的编写,调试,发布。但是有没有发现,提到在区块链上部署
合约一旦部署就无法修改,在公链上还需要花费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/





Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐