Fabric 环境搭建

1. 已搭好的环境:Linux使用CentOS, Docker 已搭好,Git已安装

    补充docker搭建环境:

我们可以使用阿里提供的镜像,安装也非常方便。通过以下命令来安装Docker

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

安装完成后需要修改当前用户(我使用的用户叫fabric)权限:

usermod -aG docker fabric

注销并重新登录,然后添加阿里云的Docker Hub镜像:

复制代码
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
复制代码

2. go环境搭建

 1)$ curl -O https://www.golangtc.com/static/go/1.9.2/go1.9.2.linux-amd64.tar.gz

 下载完成后,减压目录,移动到合适位置(推荐为/usr/local)

 $ tar -xvf go1.9.2.linux-amd64.tar.gz

$sudo mv go /usr/local

2) 配置GOPATH 环境变量

export GOPATH=随便目录/GO (ps: 随便目录可以是自己的任何一个准备编译Fabric 的目录,GO 文件夹需要自己创建)

export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin

ps:这种添加方法关闭命令窗口就失败了,需要重新添加

可以将上面内容添加到 ~/.bashrc 中,每次启动就不会消失了。

3.Docker-Compose的安装

安装Python-pip,运行指令: 
sudo yum install python-pip 
然后安装docker-compose

sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

4. 下载Frabric

在步骤2 的2)中的“随便目录”下创建GO目录(如果没有创建),GO下创建src/github.com/hyperledger目录,cd进入hyperledger.执行下面:

git clone https://github.com/hyperledger/fabric.git
#切换到1.0.0 版本 一定要切换,否则后面版本Images 不同导致网络运行报错
cd fabric
git checkout v1.0.0

5.编译configtxgen工具

cd $GOPATH/src/github.com/hyperledger/fabric
make configtxgen
# 如果出错:'ltdl.h' file not found 如果是ubuntu
sudo apt install libtool libltdl-dev
#如果是centOS 
yum install -y libtool-ltdl*
# 然后再运行make
make configtxgen

编译成功后输出:

build/bin/configtxgen
CGO_CFLAGS=" " GOBIN=/Users/johndoe/work/src/github.com/hyperledger/fabric/build/bin go install -ldflags "-X github.com/hyperledger/fabric/common/metadata.Version=1.0.0-snapshot-8d3275f -X github.com/hyperledger/fabric/common /metadata.BaseVersion=0.3.0 -X github.com/hyperledger/fabric/common/metadata.BaseDockerLabel=org.hyperledger.fabric"       github.com/hyperledger/fabric/common/configtx/tool/configtxgen
Binary available as build/bin/configtxgen``

编译后执行文件放在Fabric目录下的的build/bin/configtxgen

6.执行完整脚本

为了加快部署过程,我们提供了一个脚本来执行所有任务。执行该脚本会生成配置结果、本地网络、Chaincode测试。

进入examples/e2e_cli目录,首先从Docker Hub拉取镜像:

source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0

这个过程会需要几分钟,脚本执行后输出:

===> List out hyperledger docker images
hyperledger/fabric-ca          latest               35311d8617b4        7 days ago          240 MB
hyperledger/fabric-ca          x86_64-1.0.0         35311d8617b4        7 days ago          240 MB
hyperledger/fabric-couchdb     latest               f3ce31e25872        7 days ago          1.51 GB
hyperledger/fabric-couchdb     x86_64-1.0.0         f3ce31e25872        7 days ago          1.51 GB
hyperledger/fabric-kafka       latest               589dad0b93fc        7 days ago          1.3 GB
hyperledger/fabric-kafka       x86_64-1.0.0         589dad0b93fc        7 days ago          1.3 GB
hyperledger/fabric-zookeeper   latest               9a51f5be29c1        7 days ago          1.31 GB
hyperledger/fabric-zookeeper   x86_64-1.0.0         9a51f5be29c1        7 days ago          1.31 GB
hyperledger/fabric-orderer     latest               5685fd77ab7c        7 days ago          182 MB
hyperledger/fabric-orderer     x86_64-1.0.0         5685fd77ab7c        7 days ago          182 MB
hyperledger/fabric-peer        latest               784c5d41ac1d        7 days ago          184 MB
hyperledger/fabric-peer        x86_64-1.0.0         784c5d41ac1d        7 days ago          184 MB
hyperledger/fabric-javaenv     latest               a08f85d8f0a9        7 days ago          1.42 GB
hyperledger/fabric-javaenv     x86_64-1.0.0         a08f85d8f0a9        7 days ago          1.42 GB
hyperledger/fabric-ccenv       latest               91792014b61f        7 days ago          1.29 GB
hyperledger/fabric-ccenv       x86_64-1.0.0         91792014b61f        7 days ago          1.29 GB

7. 现在运行完整脚本:

./network_setup.sh up <channel-ID>

如果没有设置channel-ID参数,channel名默认是mychannel。脚本执行成功后输出:

===================== Query on PEER3 on channel 'mychannel' is successful =====================

===================== All GOOD, End-2-End execution completed =====================

此时,网络启动运行并测试成功。

8.手动测试一下Fabric网络

我们仍然是以现在安装好的Example02为例,在官方例子中,channel名字是mychannel,链码的名字是mycc。我们首先进入CLI,我们重新打开一个命令行窗口,输入:

docker exec -it cli bash

运行以下命令可以查询a账户的余额:

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

可以看到余额是90:

image

一切正常。最后我们要关闭Fabric网络,首先需要运行exit命令退出cli容器。关闭Fabric的命令与启动类似,命令为:

cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli

./network_setup.sh down
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值