JobPlus知识库 IT 工业智能4.0 文章
Truffle创建、编译、部署智能合约

1 创建工程目录

[html]

  1. mkdir truffle_project   
  2. cd truffle_project  
  3. truffle init  初始化truffle框架  

创建工程目录并初始化后,文件夹目录结构如下:

[html] 

  1. ▾ truffle-project/  
  2.     ▾ contracts/ 存放智能合约  
  3.           Migrations.sol 示例solidity库文件  
  4.     ▾ migrations/  用来存放部署智能合约的脚本文件  
  5.           1_initial_migration.js  
  6.     ▸ test    存放合约和应用的测试文件  
  7.        truffle.js 默认配置文件  
  8.        webpack.config.js  

2 编写智能合约Greeter

[html] 

  1. pragma solidity ^0.4.0;  
  2. contract Greeter  
  3. {  
  4.   address creator;  
  5.   string greeting;  
  6.   function Greeter(string _greeting)public  
  7.   {  
  8.     creator=msg.sender;  
  9.     greeting=_greeting;  
  10.   }  
  11.   function greet() constant returns(string)  
  12.   {  
  13.     return greeting;  
  14.   }  
  15.   function setGreeting(string _newgreeting)  
  16.   {  
  17.     greeting=_newgreeting;  
  18.   }  
  19.   function kill()  
  20.   {  
  21.     if(msg.sender==creator)  
  22.     suicide(creator);  
  23.   }  
  24. }  

3 修改发布脚本

进入./migrations目录,创建2_deploy_contracts.js文件

[html] 

  1. var MyContract=artifacts.require("Greeter.sol");  
  2. module.exports=function(deployer)  
  3. {  
  4. deployer.deploy(MyContract,"hello world");  
  5. }  

4 修改默认配置文件

[html] 

  1. module.exports={  
  2.   networks:{  
  3.   development:{  
  4.   host:"localhost",  
  5.   port:8545,  
  6.   network_id:"*"  
  7.   }  
  8.   }  
  9. };  

5 编译智能合约

[html] 

  1. truffle compile  

truffle默认只编译最近一次编译后修改或新增的文件。如果想重新编译所有的文件,使用:

[html] 

  1. truffle compile -all  

编译结果输出在项目根目录下的build/contracts/中,编译后的文件是.json格式

6 部署到测试网络

开启另一个终端,运行testrpc

进入truffle_project的根目录下,运行如下命令:

[html] 

  1. truffle migrate  

部署成功后,可以在控制台进行测试

[html] 

  1. truffle console  

结果如下:


如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏支持
279人赞 举报
分享到
用户评价(0)

暂无评价,你也可以发布评价哦:)

扫码APP

扫描使用APP

扫码使用

扫描使用小程序