Truffle 入门指南
文档使用的Truffle Solidity 版本:
Truffle v4.0.6 (core: 4.0.6)
Solidity v0.4.19 (solc-js)
安装
依赖
- NodeJS 5.0 +
- Windows, Linux, Max OS X
安装
npm install -g truffle
创建项目
从模板创建
Truffle 提供了好多项目模型, 可以直接在此基础上开发。 可以使用 truffle unbox <box-name> 来下载使用。注意, 这些项目也是使用 truffle init 命令创建的。
例如:
mkdir MetaCoin
cd MetaCoin
truffle unbox metacoin
使用CLI创建
mkdir myproject
cd myproject
truffle init
此时,使用 tree 命令可以查看 truffle 生成的模板。包括以下几个文件:
- contracts/ Solidity智能合约文件
- migrations/ 部署脚本文件
- test/ 测试文件, 用来测试应用和智能合约
- truffle.js Truffle 配置文件
选择 Ethereum 客户端
Ethereum 客户端有好多, 可以根据使用目的选择合理的客户端, 可以事半功倍。
开发阶段
GANACHE
下载安装GANACHE, 运行在http://127.0.0.1:7545
TRUFFLE DEVELOP
使用 truffle develop ,运行在 http://127.0.0.1:9545
GANACHE CLI
发布到 Ethereum 公网
发布到 Ethereum 已有网络
编译合约
合约文件位置
使用 truffle 创景的项目, 合约位于 contracts 文件夹下。
编译
truffle compile [--all]
编译后的结果 BUILD ARTIFACTS
编译结果存在 /build/contracts/ 目录。
依赖
因为合约是 Solidity 语言编写的, 因此可以使用 Solidity 语言提供的 import 关键字来导入依赖。Truffle 支持这种语法。 有两种定义依赖的方式。
通过文件名导入依赖
从一个独立文件导入依赖, 可是使用下面的代码:
```
import "./AnotherContract.sol"
```
导入额外的包依赖
Truffle 支持通过 EthPM 和 NPM 安装的依赖。可以通过下面的代码:
```
import "somepackage/SomeContract.sol"
```
somepackage 表示通过 EthPM 或者 NPM 安装的包, SomeContract 表示 somepackage 提供的合约 Solidity 源文件。
Truffle 将会优先从 EthPM 安装的包中查找依赖。