手记

【5】区块链-以太坊truffle 框架

TestRPC安装

安装Ethereum客户端来支持JSON RPC API调用开发环境,推荐使用EthereumJS。
安装命令:

sudo npm install -g ethereumjs-testrpc

这里的安装如果无法下载,请参考上一篇博客中安装truffle中使用淘宝镜像的方法。此步安装遇到很多问题,也尝试了各种方法,比如gcc依赖的安装升级,Python的安装,npm的升级,git的配置,还有node版本是否影响。虽然最终把问题给解决了,但修改的地方太多具体什么原因导致安装过程中出现那么多问题,还有待大家去尝试分析。

在执行以上命令之后,只是把ethereumjs-testrpc安装在nodejs的以下路径:

/home/zhuzs/app/nodejs/node-v6.9.1/lib/node_modules/ethereumjs-testrpc

还行进行软连接的配置:

ln -s /home/zhuzs/app/nodejs/node-v6.9.1/lib/node_modules/ethereumjs-testrpc/bin/testrpc /usr/local/bin/testrpc

truffle 安装

npm install -g truffle

truffle 使用

常用命令

truffle init 初始化
truffle  compile 编译
truffle migrate 部署
truffle serve 启动服务

操作

  1. 启动TestRPC

  2. 初始化项目

  3. 修改配置文件,编写简单的智能合约

mac 默认读取的truffle.js

module.exports = {
// See <http://truffleframework.com/docs/advanced/configuration>
// to customize your Truffle configuration!
networks: {
development: {
host: "127.0.0.1",
port: 8545,
network_id: "*" // Match any network id
}
}
};


SimpleStorage.sol


pragma solidity ^0.4.0;  
contract SimpleStorage {  

uint storedData;

function set(uint x) public {
storedData = x;
}

function get() constant public returns (uint) {
return storedData;
}
}


2_deploy_contracts.js

const SimpleStorage = artifacts.require("./SimpleStorage.sol")

module.exports = function(deployer) {
deployer.deploy(SimpleStorage);
};


4. 编译(保证编译不报错)
![图片描述][5]
truffle migrate --reset  使用这个命令便可解决以上问题
5. 部署
![图片描述][6]
> 报错问题无法解决

## 换一种方案实现

mkdir test //重新建一个项目目录test
truffle unbox webpack
truffle develop // 启动一个控制台

compile //编译
migrate //迁移合约 当然这两部也可以不在控制台下完成 可以用 truffle compile 和 truffle migrate 完成。
npm run dev //运行webpack服务器进行前端热重新加载(在开发控制台之外)。





0人推荐
随时随地看视频
慕课网APP

热门评论

推荐一个适合区块链开发新手入门的DApp实战教程:以太坊开发

你好 你的truffle是什么版本的?truffle serve是怎么启动的呢

查看全部评论