013 基于truffle的PetShop案例

我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。

truffle里面有几个例子还是不错的,也看到很多人进行翻译,我这里就不翻译啦,介绍安装和部署遇到的坑。

坑一:PetShop这个案例的坑在于src/index.html里面有个jquery.min.js的引用,被伟大的长城防火墙给墙了,导致加载报错。

大家可以自行修改或者下载我整理的代码,代码地址:https://github.com/zxs9999/pet-shop

坑二:没有介绍如何转以太币,勉强算坑吧。

下面快速介绍安装部署流程,详细可以看英文原版或者百度其他人翻译的。

1、安装前提条件

Node.js v6+ LTS and npm (comes with Node)  地址:http://blog.csdn.net/zxs9999/article/details/79029044

Git   

安装turffle   地址:http://blog.csdn.net/zxs9999/article/details/79029328

使用root进行部署

2、搭建私有链

安装、运行ganache详细手册,地址: http://mp.blog.csdn.net/postedit/79118556

RPC SERVER : HTTP://127.0.0.1:7545

NETWORK ID:8888

3、创建工程

mkdir pet-shop-tutorial
cd pet-shop-tutorial
truffle unbox pet-shop
4、代码修改(包括合约代码、测试合约代码和前端代码)

请按原文修改代码或者下载我github已经整理好的代码

truffle原文地址:http://truffleframework.com/tutorials/pet-shop

github整理好的代码地址:https://github.com/zxs9999/pet-shop

5、配置工程文件

修改工程truffle配置文件truffle.js,文件路径/home/jack/demo/pet-shop-tutorial

RPC地址修改成已经启动的私有网络地址:RPC SERVER : HTTP://127.0.0.1:7545

网络地址可以修改成NETWORK ID:8888,也可以默认为*

vi truffle.js 
6、配置编译文件

      在目录/home/jack/demo/pet-shop-tutorial/migrations下执行以下命令

vi 2_deploy_contracts.js 

修改为以下内容
var Adoption = artifacts.require("Adoption");

module.exports = function(deployer) {
  deployer.deploy(Adoption);
};
7、编译合约

      在目录/home/jack/demo/pet-shop-tutorial下执行以下命令

truffle compile  
8、部署合约

      在目录/home/jack/demo/pet-shop-tutorial下执行以下命令,truffle会根据truffle.js文件配置的网络把合约部署到上面

truffle migrate
9、部署测试合约

       在目录/home/jack/demo/pet-shop-tutorial下执行以下命令

truffle test
      测试结果如下,表示合约部署成功:

   Using network 'development'.

   Compiling ./contracts/Adoption.sol...
   Compiling ./test/TestAdoption.sol...
   Compiling truffle/Assert.sol...
   Compiling truffle/DeployedAddresses.sol...

     TestAdoption
       ✓ testUserCanAdoptPet (91ms)
       ✓ testGetAdopterAddressByPetId (70ms)
       ✓ testGetAdopterAddressByPetIdInArray (89ms)


     3 passing (670ms)
10、安装Metamask钱包并创建账户

可以参考之前安装Metamask钱包文章:http://blog.csdn.net/zxs9999/article/details/79052801

设置Metamask钱包链接到私有链。




11、转以太币到Metamask钱包账户

ganache创建的私有链第二个账户中转10个以太币给Metamask钱包内账户。

在目录/home/jack/demo/pet-shop-tutorial下执行以下命令,进入truffle交互命令行

 truffle console

先复制Metamask账户地址 0xafFDC60DEca1df8b61E5297dBCCca3d6d80820f7
修改以下账户地址为你的Metamask账户地址 ,在交互命令行下,执行以下命令 

web3.eth.sendTransaction( {from :web3.eth.accounts[1], to: "0xafFDC60DEca1df8b61E5297dBCCca3d6d80820f7", value: web3.toWei("10","ether")	} );


12、运行项目

      在目录/home/jack/demo/pet-shop-tutorial下执行以下命令

npm run dev









  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周易宅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值