为了账号安全,请及时绑定邮箱和手机立即绑定

【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服务器进行前端热重新加载(在开发控制台之外)。

图片描述
图片描述
图片描述
图片描述
图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
PHP开发工程师
手记
粉丝
6
获赞与收藏
22

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 3
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消