Truffle 是一个以太坊智能合约集成开发框架。Truffle 使用以太坊虚拟机(EVM)为区块链提供了开发环境、测试框架和资产管道,旨在让开发人员的工作更轻松。本文我们从一个 Truffle 官方示例入手,带你快速了解利用 Truffle 开发区块链项目的基础知识,包括 Truffle 项目的创建,智能合约的编译与部署,以及 Truffle 与智能合约进行交互实现区块链上的交易。
项目依赖
Truffle:区块链开发框架
Ganache:本地区块链开发节点
Node.js:JavaScript 运行环境
solc:Solidity 编译器
web3.js:以太坊 API 接口
安装
本文我们只介绍 Truffle 的安装,其它依赖包的安装请参考对应的安装文档。
通过下面的命令安装 Truffle:
npm install -g truffle
通过下面的命令确认是否已正确安装:
truffle version
控制台输出内容如下:
Truffle v5.6.7 (core: 5.6.7)
Ganache v7.5.0
Solidity - 0.8.13 (solc-js)
Node v16.15.0
Web3.js v1.7.4
通过下面的命令查看 Truffle 帮助:
truffle help
创建项目
首先,创建一个 Truffle 项目。
本文我们使用 Truffle 的官方示例 MetaCoin Box 来创建i项目。
通过下面的命令创建项目:
mkdir metacoin
cd metacoin
truffle unbox metacoin
以上命令在 metacoin 目录下创建了这个 Truffle 项目。
我们来看一下这个项目的目录结构:
contracts/:Solidity 合约目录
migrations/:部署脚本目录
tests/:测试文件目录
truffle-config.js:Truffle 配置文件