Truffle创建、编译、部署智能合约

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

结果如下:

Truffle创建、编译、部署智能合约_第1张图片

你可能感兴趣的:(Truffle创建、编译、部署智能合约)