2020年6月 Windows下配置hyperledger fabric

0. 过程简述及参考文档

这是官方的文档,https://hyperledger-fabric.readthedocs.io/en/release-1.4/prereqs.html

第一步在Prerequisite里,有Install cURL,Docker and Docker Compose,Go Programming Language,Node.js Runtime and NPM,Python,Windows extras。有了这些东西之后,第二步是安装fabric-sample,binaries,还有docker镜像。我们也按照官方的文档走,但是走不通的地方改了。

我觉得这篇文章写得非常好↓,他是在Ubuntu上配置的,但流程和Windows上做是一致的,可以很好地了解有什么步骤每步怎么做的,

https://www.cnblogs.com/zongmin/p/11635686.html#_label1

还有这篇也不错↓

https://www.jianshu.com/p/d9dd6fdf2544

我是数学转到计算机专业的,基础特别差什么都不懂,花了好长时间查了很多试了很多,所以不能保证和下面的操作一模一样,但下面是我认为起作用的步骤,如果大家发现什么问题请跟我说下哈~(我太难了)

1. Docker + Docker Compose

1.1 检查电脑是否开启了虚拟化

Windows里需要开启Hyper-V才可以运行Docker,开启方法如何开启和使用windows 10中的Hyper-v控制面板-程序-启动和关闭Windows功能-把hyperV都选上

如果hyperv虚拟机监控程序哪里点不上(发现监控程序未运行的情况),那么就需要去BIOS把它打开,virtualization-must-be-enabled

Win10进入BIOS的方法是,按住shift的同时点击重启按钮—TroubleShoot如何进入BIOS

至于进入到BIOS之后应该如何开启,不同的主板是不同的,比如我这里华硕的主板就是华硕主板BIOS中设置CPU/VT虚拟化技术怎么开启

1.2 安装Docker

这篇写的挺好,WIN10中DOCKER的安装与使用

Docker是安装镜像的库,我们先从 https://www.docker.com/get-started 把Docker Desktop for Windows安装好,没什么需要配置的。

装好之后打开小鲸鱼,我们需要在 设置-DockerEngine 里加一个镜像加速器,这样下载的时候会快很多也不容易卡住,看这篇Docker 镜像加速。我添加了一个阿里云的。

试一下 docker version 是否正常,没问题的话就把Docker开着就行了。

这里不用做,先看看。docker安装镜像的话可以在命令行里输入 docker pull image_name。比如我们在https://hub.docker.com/search?q=&type=image搜索hyperledger就会出现很多hyperledger相关的镜像,比如 docker pull hyperledger/fabric-peer 。Fabric源码及镜像文件处理

1.3 安装Docker Compose

这一步,如果你有python的话,直接用 pip install docker-compose 就能装好啦,我是这么做的。Install Docker Compose,不过官方文档里说dockercompose在windows在安装Docker的时候就会自动装好的,用 docker-compose --version 来检查有没装好。

也有用curl装的,大家随便查一下有一大堆的哈。

2. GO(+IDE)

 2.1安装GO语言

这里可能碰到的问题是,官网https://golang.org/dl/打不开,试试这个吧,https://golang.google.cn/

下载之后,按照Goland开发环境搭建详解进行安装和配置环境变量。

注意这里需要添加gopath和goroot两个环境变量。gopath是自己新建的路径,并且gopath下面还要自己新建bin、pkg、src三个文件夹。

2.2给GO找个IDE

这步不装暂时也没问题,但后续开发要用go。好像用goland比较多,我是下了goland,如果有edu结尾的邮箱,可以去注册学生或者教育工作者免费的license呢。有用visual studio,还有用eclipse或者idea的,有的话就直接用就好啦。

3.Node.js + npm + 依赖包

3.1 安装Node.js

我是照着Nodejs安装及环境配置装的,emmmm不过我怎么觉得有点陌生,先放着》。。sorry

3.2 安装npm

应该也是一起装好的,确定装好就行。

3.3用npm装 windows-build-tools和grpc

在命令行里输入:

npm install --global windows-build-tools

npm install --global grpc

4.Git

git也是没啥好说的,装就vans。但是装好之后一定要用这两条命令设置一下。

git config --global core.autocrlf false  

git config --global core.longpaths true

5.下载fabric源码

找一个放代码的文件夹,右键打开Git Bash,

git clone https://github.com/hyperledger/fabric.git

下好之后进入fabric文件夹的路径中设置fabric版本,

git branch -a

git checkout v1.4.3

为什么是v1.4.3呢,因为我找教程时教程里是这么做的,保险起见我也换了这个分支嘿嘿嘿。现在最新的版本到2.1.1了可以在fabric官方的GitHub上看到,https://github.com/hyperledger/fabric/releases。不过没关系,这里选哪个版本都行。

6.下载fabric-sample源码

fabric-sample是用来测试的,我把fabric-sample clone到fabric的文件夹里了

git clone https://github.com/hyperledger/fabric-samples.git

进入fabric-sample文件夹,设置fabric-sample的版本

git branch -a

git checkout v1.4.3

fabric-sample的版本和上面fabric的一致。

7.安装所需要的镜像

1.2节里说了docker安装镜像的代码是docker pull xxxx,这里呢我们用这句把下面这一大堆都装了。为了省事,把下面这堆复制到一个记事本里,修改后缀为.bat,然后点开它就会一口气都执行啦。

此处需要下载的镜像:

docker pull hyperledger/fabric-ca

docker pull hyperledger/fabric-tools

docker pull hyperledger/fabric-ccenv

docker pull hyperledger/fabric-orderer

docker pull hyperledger/fabric-peer

docker pull hyperledger/fabric-zookeeper

docker pull hyperledger/fabric-kafka

docker pull hyperledger/fabric-couchdb

docker pull hyperledger/fabric-baseos

docker pull hyperledger/fabric-ca

docker pull hyperledger/fabric-javaenv

8.下载Binaries

https://github.com/hyperledger/fabric/releases这里找到上面设置的fabric版本,然后每个版本的最下边都有Asset,把它展开,下载这个文件hyperledger-fabric-windows-amd64-1.4.3.tar.gz并解压。把解压后的binconfig文件夹复制到fabric-sample文件夹里就ojbk的。

这里我要唠叨一下,为什么官方文档里fabric-sample,binaries,还有docker镜像一行代码curl ssl xxxx什么的就搞定了,而这里罗里吧嗦的5678那么多步呢?是这样的,官方要是运行bootstrap.sh这个文件把这三步一起执行了,但是这个url都是无效的,起码我这里是无效的,也不是翻墙的问题,就是狗带了。所以我们只能按照bootstrap脚本把脚本做了的东西都拆开自己做(这是什么人间疾苦)。这部分这篇讲的很好哦Fabric 环境搭建时bootstrap.sh帮我们做了什么?

9.试一下能不能启动Fabric

启动网络。进入fabric-samples\first-network文件夹,shift+右键-在此处打开powershell,或者cd cd到first-network下,执行

./byfn.sh up

嘻嘻嘻,按理说是可以的,看到个start再看到个end就成功啦。

关闭网络。执行

./byfn.sh down

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。