安装fabric时,官方提供了“安装示例、二进制文件和Docker映像”的脚本,可通过两种方式使用
方式一:官方文档中说,直接在一个指定的目录中运行
curl -sSL https://bit.ly/2ysbOFE | bash -s
或使用参数指定特定的版本
curl -sSL https://bit.ly/2ysbOFE | bash -s -- <fabric_version> <fabric-ca_version> <thirdparty_version>curl -sSL https://bit.ly/2ysbOFE | bash -s -- 2.0.1 1.4.6 0.4.18
一般默认就行
方式二:运行已经从github上下下来的脚本
将文件/hyperledger/fabric/scripts/bootstrap.sh复制到fabric同级目录中,并执行
./bootstrap.sh
如果可以直接翻墙则直接完成,我的宿主机可以翻但是虚拟机怎么都翻不了,执行之后报错github-production-release-asset-2e65be.连接失败。
关键步骤
根据文章的中后部分可知关键卡在了下载二进制文件的那步上,于是就先在宿主机翻墙下载了hyperledger-fabric-linux-amd64-2.0.0.tar.gz和hyperledger-fabric-ca-linux-amd64-1.4.6.tar.gz
将两个压缩包解压,相同目录自动合并,然后将bin和config文件夹放入fabric-samples中。(因为执行过脚本所以会有下下来的samples文件夹)
再更改bootstrap.sh文件,将binaries改为false
再次执行./bootstrap.sh即可完成安装工作,再配下samples中移入的bin为环境变量就O了。
启动网络
$ cd ./fabric-samples/first-network/$ ./byfn.sh up
通过docker ps
命令可以查看到节点的启动情况。
./byfn.sh down关闭网络
分析过程
借助之前文章分部执行的启发,想看看脚本中具体怎么实现的,发现pullBinaries方法只做了下载和解压,他们是怎么放进samples文件夹中的呢?
答案在第一步中,为了看着方便,将脚本放在notepa++中
即在第一步中程序就进入了samples中,并进行了版本选择,所以第二步的所有操作其实都是在samples中的……自然不需要移动了,只需解压,文件夹自动合并,然后自动删除压缩包。