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
 
结果如下:

    
             
            
                
                            
                            
登录 | 立即注册