在CentOS7上搭建Hyperledger Fabric 1.0

一.环境配置

  1.1在windows上安装VMware

    这个是下载VMware的安装包下载完后安装就可以了

http://sw.bos.baidu.com/sw-search-sp/software/aff3469fe5f99/VMware-workstation-full-12.5.7.20721.exe

  1.2下载CentOS7镜像并安装到VMware上

    下载CentOS7的镜像

http://mirror.vilkam.ru/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-1611.iso

    安装centos7可以参考一下这个https://jingyan.baidu.com/article/c910274be62c6bcd361d2d37.html

  1.3安装docker

    在命令行里面输入以下命令执行安装

curl -sSL https://get.daocloud.io/docker | sh

    安装完成后运行以下脚本将用户添加到docker组中 (注:user是你的用户)

sudo usermod -aG docker user

    修改docker的服务配置

sudo vi /etc/default/docker

    添加以下内容

DOCKER_OPTS="$DOCKER_OPTS -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --api-cors-header='*'"

    接下来就是设置一下国内docker镜像地址,脚本是

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://d4cc5789.m.daocloud.io

    执行完脚本后,把docker服务设置成开机启动,并启动docker服务

systemctl enable docker.service
sudo service docker restart

  1.4安装docker-compose

    Compose是定义和运行多个Docker容器的应用,可以很方便的从管发拉下来一些镜像。

curl -L https://get.daocloud.io/docker/compose/releases/download/1.10.1/docker-compose-`uname -s`-`uname -m` > ~/docker-compose 
sudo mv ~/docker-compose /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

二.部署Fabric1.0

  2.1下载官方自动化部署脚本

    建一个文件夹,用于存放自动化部署脚本

mkdir fabric-sample
cd fabric-sample

    然后使用curl命令下载并运行自动化部署脚本,这个过程会比较漫长,这个会下载大量的x86_64-1.0.0的镜像,下载完之后会标签改为latest(注:这个脚本是下载的fabric 1.0.0的镜像)

curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap-1.0.0-beta.sh | bash

    当下载完成后使用以下命令查看你下载的镜像

docker images

  

  2.2启动Fabric的实例

    在前面下载的官方自动化部署脚本中已经包含了Fabric的实例脚本,运行以下命令

cd ~/fabric-sample/release/linux-amd64
./network_setup.sh up

    当出现以下界面就说明启动成功了

    系统会创建1个客户端实例cli,1个orderer节点,还有4个peer节点,当前脚本包含了我们接下来运行的mycc实例,所以还会看到三个链上代码在运行,使用以下命令查看实例

docker ps

  

三.测试Fabric

  3.1在cli中测试Example02

    其实我们在前面运行./network_setup.sh up的时候系统已经运行了一个Example02的ChainCode测试,部署上去的ChainCodeName是mycc,所以接下来我们要测试的话不能再初始化并部署同样名字的ChainCode了,我们可以使用自己另外命名的名字devincc

    我们先进入到cli容器中

docker exec -it cli bash

    如果成功进入我们会切换到该容器的root用户下,得到如下命令行目录

    链上的代码需要经过install和instatiate两步,下面我们先执行example02并指定一个名字devincc

peer chaincode install -n devincc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02

    运行后会提示运行成功,并返回200

   

     接下来是instatiate,初始化实例,设置a账户有100,b账户有200

peer chaincode instantiate -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/cacerts/ca.example.com-cert.pem -C mychannel -n devincc -v 1.0 -c '{"Args":["init","a", "100", "b","200"]}' -P "OR ('Org1MSP.member','Org2MSP.member')"

  

    运行成功后会显示如下结果

    使用query来查看一下a的余额

peer chaincode query -C mychannel -n devincc -c '{"Args":["query","a"]}'

    下面是显示账户a的余额

    从账户a转10到账户b里面,调用invoke

peer chaincode invoke -o orderer.example.com:7050  --tls $CORE_PEER_TLS_ENABLED --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/cacerts/ca.example.com-cert.pem  -C mychannel -n devincc -c '{"Args":["invoke","a","b","10"]}'

  

    转账成功的的提示

    

     再来查看一下账户a的余额,现在变成90了

peer chaincode query -C mychannel -n devincc -c '{"Args":["query","a"]}'

  

 

到此为止我们的Fabric1.0部署成功,并且测试通过、

转载于:https://www.cnblogs.com/Care-3/p/7419110.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值