hyperledger fabric环境配置及排障

本文只是刚入门小白为了记录配置和在配置过程中自己遇到的问题,如果有错误欢迎指正~

一、版本

网络环境可以访问外网;

Ubuntu版本安装的是20.04;

hyperledger  fabric版本是2.3.1,fabric CA版本1.4.9;

go版本1.15.5;

linux里非root用户进行配置,如果有的命令不能执行或者报错,请先试试在命令前加上sudo,再执行试试。ps:进入root用户命令:sudo su;退回普通用户exit root。

二、安装包

1.安装git、curl、docker、docker-compose

以上安装就是几条命令行,可以直接参照下面这个博客
Ubuntu20.04上部署 Hyperledger Fabric2.3_ubuntu 20.04 + hyperledger fabric-CSDN博客
安装结束后,参照博客里的命令,查看docker以及docker-compose是否安装好。

2.安装go

 go安装也可参照上面这个这个博客,但注意安装的版本不是!不是!!!1.16.3,要把相应的命令改成1.15.5。(版本过高,可能后续运行sdk会出问题)命令如下: 

sudo tar -zxvf ./go1.15.5.linux-amd64.tar.gz -C /usr/local/         

其他go环境的配置,直接按照上面那篇博客来,最后要go version检查版本,还有第6步对go进行配置都要做;到这都没问题的话,第7步go程序就不必编写了。             

     

三、Fabric安装

1. 创建文件夹

sudo mkdir /usr/go/src/github.com/hyperledger
进入hyperledger目录内
cd /usr/go/src/github.com/hyperledger

2. 安装fabric只需要运行下面这一条命令。

sudo curl -sSL https://bit.ly/2ysbOFE | bash -s -- 2.3.1 1.4.9

如果命令不成功,可能是有墙无法直接访问外网。可以访问网址https://bit.ly/2ysbOFE,复制下来。注意!!!一定要将复制下来的fabric版本改成2.3.1;fabric CA版本1.4.9。然后放在Ubuntu里的hyperledger文件夹下。
具体参照下面这个视频:大约在4分钟那儿开始超级账本 hyperledger fabric v2.3 安装与测试网络_哔哩哔哩_bilibili

最后,按照上面视频中的步骤验证是否有fabric-samples这个文件夹,再查看这个文件夹下的bin目录是否全。

在。。。hyperledger/fabric/bin目录下,再运行下面命令,将bin目录下的所有文件复制到全局的bin文件夹下,方便全局使用。

cp  * /usr/local/bin

知识点:https://bit.ly/2ysbOFE这个网址里的脚本包含了需要下载的东西,分为三个部分:第一部分下载fabric源码;第二部分是cloneSample,将测试网络的例子从gitHub仓库上克隆下来;第三部分把fabric所需的Docker镜像下载下来。fabric版本2.3.1;fabric CA版本1.4.9。

四、运行fabric测试网络

1.进入测试网络的路径

2.启动网络

在该路径下运行,这部分可以参照官网。

使用 Fabric 测试网络 — hyperledger-fabricdocs 主要文档

sudo ./network.sh up

未报错且输入sudo docker ps命令,出现夏明这些容器,则可以进行下一步。

3.创建通道和部署链码

这两步都按照b站的这个视频来配置就可以,真的讲得很好。需要配置的命令怕输错,或者懒得输,可以到上面那个官网的链接里直接对照着视频复制。

超级账本 hyperledger fabric v2.3 安装与测试网络_哔哩哔哩_bilibili

sudo ./network.sh createChannel

链码下载要注意!!!正常执行下面的命令时,在下面这个文件目录下没有vendor这个文件夹,导致没有go依赖,需要先执行go mod vendor这条命令。执行不了的看视频,视频里up换源。

#先进入root,再执行。

go mod vendor

go env -w GO111MODULE=ON

然后输入go env查看配置。

sudo ./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go

按照视频添加环境变量。

最后,关闭网络。

sudo ./network.sh down

五、fabric explorer搭建

在。。。github.com/hyperledger/下创建explorer文件夹

sudo mkdir explorer

cd explorer

按照下面的视频和博客安装,这部分主要是有些问题需要排障。 

aahyperledger fabric explorer 超级账本区块链浏览器搭建_哔哩哔哩_bilibili

docker方式简单部署blockchain-explorer-CSDN博客

这一部分一定要按照视频里修改配置文件,可以到下面的官网直接复制那三个配置文件,但是注意docker-compse.yaml这个文件复制过程中缺少external:(见问题4的图片)

hyperledger-labs/blockchain-explorer (github.com)

六、排障:

1. 问题:如果出现权限类报错导致无法执行的

有两种方法:①可以尝试在文件下输入sudo chmod 777 -R,增加该文件夹的权限;②sudo su命令进入root,再执行。

2.问题:如果出现钱包创建失败

查看/usr/go/src/github.com/hyperledger/explorer目录下的三个修改的配置文件可能有问题,重点查看下图圈出来的两个文件中的路径是否正确。如果检查不出来有什么问题,可能是你的json文件格式在复制粘贴时出现了问题。我就是在修改config.json过程中,漏了个逗号。。。

3.问题:身份证书有误。由于我重新启动了fabric网络,因此身份证书更换了,而我没有更换explorer目录下的organizations文件。

error: [ServiceEndpoint]: Error: Failed to connect before the deadline on Endorser- name: peer0.org1.example.com, url:grpcs://peer0.org1.example.com:7051, connected:false, connectAttempted:true

解决方法:

①删除explorer目录下的organization文件;sudo rm -rf organizations

②重新将fabric-samples/test-network/organizations文件夹下圈出来的文件,复制到explorer文件夹下的organizations里。

4.问题:“钱包”是不正确的,或者过时了。输入sudo docker ps,很多之前运行的数据。

error: [DiscoveryService]: send[mychannel] - Channel:mychannel received discovery error:access denied
[ERROR] FabricClient - Error: DiscoveryService: mychannel error: access denied

解决方法:

①要区分docker-compose down只是关闭了,要删除需要docker-compose down -v。直接执行命令docker-compose down -v,并不能达到即关闭、又删除的功能。

②所以,需要先docker-compose down,然后docker-compose down -v。再输入docker ps,查看是否删干净了。这里有个问题,在删除结束后,显示测试网络被跳过了,这是因为配置文件docker-compose.yaml里将网络设置为external了,是正常现象。

p.s.这里图片中network中的name也要改成相应的网络,要不也会报错,可以通过docker network ls查看网络名称。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值