1 创建工程目录
[html]
- mkdir truffle_project
- cd truffle_project
- truffle init 初始化truffle框架
创建工程目录并初始化后,文件夹目录结构如下:
[html]
- ▾ truffle-project/
- ▾ contracts/ 存放智能合约
- Migrations.sol 示例solidity库文件
- ▾ migrations/ 用来存放部署智能合约的脚本文件
- 1_initial_migration.js
- ▸ test 存放合约和应用的测试文件
- truffle.js 默认配置文件
- webpack.config.js
2 编写智能合约Greeter
[html]
- 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文件
[html]
- var MyContract=artifacts.require("Greeter.sol");
- module.exports=function(deployer)
- {
- deployer.deploy(MyContract,"hello world");
- }
4 修改默认配置文件
[html]
- module.exports={
- networks:{
- development:{
- host:"localhost",
- port:8545,
- network_id:"*"
- }
- }
- };
5 编译智能合约
[html]
- truffle compile
truffle默认只编译最近一次编译后修改或新增的文件。如果想重新编译所有的文件,使用:
[html]
- truffle compile -all
编译结果输出在项目根目录下的build/contracts/中,编译后的文件是.json格式
6 部署到测试网络
开启另一个终端,运行testrpc
进入truffle_project的根目录下,运行如下命令:
[html]
- truffle migrate
部署成功后,可以在控制台进行测试
[html]
- truffle console
结果如下:
登录 | 立即注册