1 创建工程目录
mkdir truffle_project
cd truffle_project
truffle init 初始化truffle框架
创建工程目录并初始化后,文件夹目录结构如下:
▾ truffle-project/
▾ contracts/ 存放智能合约
Migrations.sol 示例solidity库文件
▾ migrations/ 用来存放部署智能合约的脚本文件
1_initial_migration.js
▸ test 存放合约和应用的测试文件
truffle.js 默认配置文件
webpack.config.js
2 编写智能合约Greeter
pragma solidity ^0.4.0;
contract Greeter
{
address creator;
string greeting;
function Greeter(string _greeting)public
{
creator=msg.sender;
greeting=_greeting;
}
function greet() constant returns(string)
{
return greeting;
}
function setGreeting(string _newgreeting)
{
greeting=_newgreeting;
}
function kill()
{
if(msg.sender==creator)
suicide(creator);
}
}
3 修改发布脚本
进入./migrations目录,创建2_deploy_contracts.js文件
var MyContract=artifacts.require("Greeter.sol");
module.exports=function(deployer)
{
deployer.deploy(MyContract,"hello world");
}
4 修改默认配置文件
module.exports={
networks:{
development:{
host:"localhost",
port:8545,
network_id:"*"
}
}
};
5 编译智能合约
truffle compile
truffle默认只编译最近一次编译后修改或新增的文件。如果想重新编译所有的文件,使用:
truffle compile -all
编译结果输出在项目根目录下的build/contracts/中,编译后的文件是.json格式
6 部署到测试网络
开启另一个终端,运行testrpc
进入truffle_project的根目录下,运行如下命令:
truffle migrate
部署成功后,可以在控制台进行测试
truffle console
结果如下: