truffle是一个世界级的开发环境和测试框架 可以创建项目、执行测试、安装依赖、部署发布项目
内置智能合约编译、链接、部署和字节码管理,简化编译的流程和难度
自动化的智能合约测试功能
合约部署和迁移 迁移就是将私链中测试完好的合约发布到公链中,更改了ip和端口,truffle支持脚本化的可扩展的部署和迁移框架
通过配置IP和端口实现网络管理,选择以太坊的主网、测试网络、私有网络等
使用ERC190标准,EthPM和NPM管理包
通过控制台直接和合约交互,进行测试与调试
可以在truffle中执行脚本
支持高度集中的内建的、可配置的管道
truffle的安装
npm install -g cnpm -registry=https://registry.npm.taobao.org
cnpm install -g truffle
查看truffle 版本
truffle version
truffle的命令
init | 初始化新的以太坊工程,工程中包含了部署项目得饿文件、配置文件和测试文件 |
---|---|
unbox | 下载Truffle项目模板到当前工作目录 |
create | 创建新的合约,部署文件和测试文件 |
compile | 编译合约源码文件 |
deploy | 部署智能合约文件 |
migrate | 迁移智能合约文件 |
build | 构建打包 |
install | 从以太坊安装一个包 |
test | 运行JavaScript和solidity测试 |
publish | 发布一个包到以太坊库 |
debug | 调试区块链上的交易,测试阶段 |
opcode | 打印指定合约的操作码 |
comsole | 运行一个控制台 |
develop | 打开控制台,用于使用本地开发区块链 |
networks | 查看部署合约的网络地址 |
watch | 查看文件系统的变化和自动重新构建工程 |
serve | 启动服务器 |
exec | 在truffle 环境中执行一个JavaScript模块 |
执行init命令初始化工程
生成contracts目录 存储需要部署的合约文件
migrations目录下是合约部署的js文件 每个合约对应相应的合约文件
test目录存放测试代码
truffle-config.js是配置文件 配置本地网络 solc版本 数据库连接配置