要求使用docker镜像部署hyperledger fabric,版本选择是v1.1

使用docker镜像部署hyperledger fabric v1.1

    • 安装cURL
    • 下载Docker
    • 安装node.js 环境
    • 安装npm
    • 安装Go语言环境
    • 安装Python
    • 搭建hyperledger fabric
    • 准备运行Example02的官方示例
    • 换用fabric -samples
    • 最后

大神们好,最近跟着某位大佬学习,初次接触区块链项目,所以写下一些部署的步骤,欢迎大家来指正一些错误,希望我的能力可以有所提升。

安装cURL

下载最新版本的cURL工具(如果尚未安装)

cURL下载

选择合适的cURL版本

1.选择操作系统
要求使用docker镜像部署hyperledger fabric,版本选择是v1.1_第1张图片

2.选择风格
要求使用docker镜像部署hyperledger fabric,版本选择是v1.1_第2张图片
3.选择版本下载、解压
4. 验证

要求使用docker镜像部署hyperledger fabric,版本选择是v1.1_第3张图片

下载Docker

具体步骤可以参考这篇文章,我是跟着这篇文章一步步做下来的:

https://blog.csdn.net/sunxinyu/article/details/77503572

验证成功:

要求使用docker镜像部署hyperledger fabric,版本选择是v1.1_第4张图片

安装node.js 环境

验证成功
在这里插入图片描述

安装npm

$ npm install [email protected] -g

安装Go语言环境

安装及配置路径参考这篇文章:

https://www.cnblogs.com/X-knight/p/9522511.html

验证:
在这里插入图片描述

安装Python

$ sudo apt-get install python

验证:
在这里插入图片描述

搭建hyperledger fabric

首先在Go语言的环境目录里新建hyperledger fabric项目
git clone下来:
https://github.com/hyperledger/fabric/tree/release-1.1

然后切换到scripts目录,修改bootstrap-1.1.0-preview.sh的执行权限

$chmod +x bootstrap-1.1.0-preview.sh
$./bootstrap-1.1.0-preview.sh

这样就可以下载所有需要的Fabric Docker镜像了

下载完毕后,运行以下命令检查下载的镜像列表:

$ docker images

得到的结果如下:
要求使用docker镜像部署hyperledger fabric,版本选择是v1.1_第5张图片

准备运行Example02的官方示例

首先配置docker-compose 的网络(使用官方的列子,笔者死活不能运行网络成功,后来自己指定网络后一次就成功了),默认的网络设置在某些docker-compose上不能识别

$ cd ~/go/src/http://github.com/hyperledger/fabric/examples/e2e_cli
  1. 首先修改base/peer-base.yaml:

设置CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2e_cli_e2enet

在这里插入图片描述

  1. 修改docker-compose-cli.yaml

在文件顶层,version后面添加指定networks属性字段,指定网络的名字e2enet(自定义),同时在没有子节点上也添加相应的networks属性,下图展示了zookeepr0的networks的设置,其余同理

要求使用docker镜像部署hyperledger fabric,版本选择是v1.1_第6张图片
要求使用docker镜像部署hyperledger fabric,版本选择是v1.1_第7张图片

3)修改docker-compose-couch.yaml,修改如下,每个节点都需要指定网络

要求使用docker镜像部署hyperledger fabric,版本选择是v1.1_第8张图片

9.启动Fabric网络并完成ChainCode的测试

我们切换到e2e_cli文件夹,启动example02

$ ./network_setup.sh up

这个做了以下操作:

首先检查是否生成了对应的辅助工具,没有则调用generateArtifacts.sh编译生成对应工具,然后检查证书,秘钥,区块是否生成,如果有没有则调用generateArtifacts.sh生成相关文件

1)编译生成Fabric公私钥、证书的辅助工具放在目录:fabric/release/linux-amd64/bin

2)基于configtx.yaml生成创世区块和通道相关信息,并保存在channel-artifacts文件夹。

3)基于crypto-config.yaml生成公私钥和证书信息,并保存在crypto-config文件夹中。

4)基于docker-compose-cli.yaml启动1Orderer+4Peer+1CLI的Fabric容器。

5)docker-compose-couch.yaml顾名思义是用于配置couchdb的

  1. 在docker-compose-cli.yaml中 CLI启动的时候,会运行scripts/script.sh文件,这个脚本文件包含了启动节点,创建Channel,加入Channel,安装Example02链码,运行Example02等功能。

开始启动生成配置文件后,看到下图表示docker容器开始启动

要求使用docker镜像部署hyperledger fabric,版本选择是v1.1_第9张图片
结果出现错误,一开始我找出来是Go环境配置出错,然后我就修改了,可是错误依然存在,在网上搜索了很久,竟然发现没有人会出现我这种错误…

如果有大佬会的话,就请指点指点小弟吧。

具体错误如下:

要求使用docker镜像部署hyperledger fabric,版本选择是v1.1_第10张图片

换用fabric -samples

鉴于只是为了尝试构建hyperledger fabric 的样例,所以小弟直接使用官方已经配置好上面提到过的配置文件的样例运行:

首先:
配置好路径:
在这里插入图片描述

$ vim ~/.bashrc
$ export PATH=${PATH}:/(path to)/fabric-samples/bin/

之后运行sample:

$ cd fabric-samples/first-network

进入first-network目录,此目录有个./byfn.sh脚本,负责快速产生一个区块链网络,直接使用这个脚本产生网络配置,运行docker容器即可:

$ ./byfn.sh -m generate

然后:

$ ./byfn.sh up

成功运行:

要求使用docker镜像部署hyperledger fabric,版本选择是v1.1_第11张图片
运行方法主要参考:

https://blog.csdn.net/qq_40466467/article/details/80855140
https://www.jianshu.com/p/749c16a32097

最后

谢谢各位指点过小弟的大神跟文章。我会继续努力的。

你可能感兴趣的:(要求使用docker镜像部署hyperledger fabric,版本选择是v1.1)