利用truffle框架部署智能合约

本人开发环境为windows7,开发过程中遇到很多坑,特写此文给需要的人!
1、安装node.js和atom编辑器
2、安装truffle框架和testrpc测试环境:npm install -g ethereumjs-testrpc truffle,如果进度卡住,那么一般就是网络原因(墙),需要安装cnpm:npm install cnpm -g --registry=https://registry.npm.taobao.org
安装好之后输入:cnpm install -g ethereumjs-testrpc truffle
3、输入testrpc 来启动以太坊测试环境
这里写图片描述

可以看到testrpc启动后自动创建了10个账号和私钥,每个账号都有100个以太币
4、刚才的终端不要关闭,再新打开一个终端,输入:mkdir abc 来新建一个abc文件夹,接着输入:cd abc 打开文件夹,输入:truffle init 来新建一个智能合约的项目,创建成功后的文件夹内容如图所示:
这里写图片描述
contracts文件夹用来存放智能合约文件,格式为.sol
migrations文件夹用来存放部署文件,现在里面只有一个文件
test文件夹用来存放测试文件
注意:truffle更新后,创建出的文件已经和以前不同了,并没有metacoin这个demo了
5、打开atom,打开abc文件夹
这里写图片描述

在文件夹contracts上右键,选择新建文件,输入文件名:hello.sol,写入以下内容:

pragma solidity ^0.4.4;
 contract HelloWorld {
  function sayHello() returns (string) {
   return ("Hello World");
 }
}

6、点击truffle.js文件,输入以下内容:

module.exports={
  networks:{
    development:{
      host:"localhost",
      port:8545,
      network_id:"*"//匹配任何netword id
    }
  }
}

7.点击migrations文件夹,右键新建文件,输入名称:2_initial_hello.js
输入以下内容:

var hello =
artifacts.require("hello");

module.exports
= function(deployer) {

deployer.deploy(hello);

};

8.现在打开终端,输入:truffle.cmd compile 进行编译
这里写图片描述

为什么输入的是truffle.cmd,别的教程都是truffle啊?因为这是windows系统,就是不一样~ 编译成功后,会新建一个build文件夹

9.现在执行truffle.cmd migrate 进行部署
这里写图片描述
10、合约部署成功了,怎么和它互动呢?接着来,在终端输入:truffle console
接着输入:hello.deployed().then(instance => contract = instance)
然后输入:contract.sayHello.call()
可以看到返回了一个字符串Hello World
这说明什么?
调用合约成功!

猜你喜欢

转载自blog.csdn.net/aaa19890808/article/details/79418335