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并解压。把解压后的bin和config文件夹复制到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