本人开发环境为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
这说明什么?
调用合约成功!