truffle是以太坊(ethereum)开发智能合约(smart contract)过程中最受欢迎的框架,本教程来安装构建一个基本的Truffle项目并部署一个智能合约到区块链。
开始本文之前希望你已经了解区块链、以太坊、智能合约等基本概念。
安装 Truffle
安装 Truffle 框架非常的简单,只需要一行命令:
npm install -g truffle
当然前提是你已经安装好了NodeJS并且版本要在5.0以上。
Tunffle还要求一个运行的以太坊客户端,以便支持标准的JSON RPC API,有很多的选择比如Ganache、geth。
构建一个Truffle项目
要使用大量的Tunffle命令,我们通过使用一个现成的Tunffle项目来学习。第一步是创建一个Truffle项目。
我们可以创建一个空的项目模板,不过刚开始构建项目,我们可以使用Tunffle Boxs,里面有很多的示例应用程序和项目模板。本文使用MetaCoin box,它创建一个可以在帐户之间传输代币的应用程序示例。
1.为构建Truffle项目创建新目录:
mkdir MetaCoin
cd MetaCoin
2.下载 MetaCoin box,使用truffle unbox <box-name>
来下载各种示例,如果要建一个空的不包括智能合约的项目可以使用truffle init
。
truffle unbox metacoin
上述命令完成后,我们获得一个有以下目录结构的项目:
- contracts/: Solidity编写的智能合约目录。
- migrations/:脚本部署目录。
- test/:用来测试应用程序和智能合约的测试目录。
- truffle.js/:Truffle 配置文件。
浏览一下这个项目
打开
contracts/MetaCoin.sol
,这是一个用Solidity编写的智能合约文件,这个智能合约建了Metacoin代币,我们可以注意到它引用了同目录下的另外一个solidity编写的文件contracts/ConvertLib.sol
。打开
contracts/Migrations.sol
,这是一个单独的Solidity文件,用来管理和更新部署的智能合同的状态。这个文件每个Tunffle项目都有,通常不用管。打开
migrations/1_initial_deployment.js
文件,这个脚本是为了部署Migrations.sol
文件中的Migrations
合约。打开
migrations/2_deploy_contracts.js
文件,这个脚本是为了部署MetaCoin
合约,会按顺序执行完上一步的脚本后执行。打开
test/TestMetacoin.sol
文件,这是一个Solidity编写的测试文件,确保你的合约正常工作。打开
test/metacoin.js
文件,这个脚本与上面的测试文件类似。