本文参考的官方教程链接:http://hyperledger-fabric.readthedocs.io/en/latest/getting_started.html
(需要注意的是,hyperledger的官方网站上有两种开发环境搭建教程,分别针对的是应用开发者和hyperledger fabric本身的开发者,目前网上的很多教程都没有把这两个的区别讲清楚,导致新手分不清楚哪个是对的)
本文所用到的系统环境:
macOS High Sierra 10.13.3
windows和linux环境下的配置会有所不同,但大致步骤是一致的,具体移步官方教程。
1. 前期准备
(1)安装homebrew(非必须,建议安装,方便安装后续软件)
官方网站:https://brew.sh/index_zh-cn.html
(2) 安装curl
官方网站:https://curl.haxx.se/download.html
(3) 安装docker和docker-compose
官方网站:https://www.docker.com/get-docker
(4)安装go
安装完成之后要注意配置环境变量:
官方给的pkg安装包的默认安装地址是在/usr/local/go,需要配置GOPATH为该地址;
进入终端,查看自己的shell类型:echo $SHELL
我的输出为/bin/bash,是bash,环境变量应该配置在~/.bash_profile中(不同的shell加载的环境变量文件可能有区别,因此一定要先搞清楚自己用的shell类型,再去查找该shell所对应的环境变量配置文件是在哪个位置)
打开~/.bash_profile,输入:
export GOPATH=/usr/local/go
export PATH=$PATH:/usr/local/go/bin
随后保存退出,source .bash_profile使配置立即生效。
输入echo $GOPATH,echo $PATH检验是否配置成功。
(5) 安装node.js和npm
brew install node
检查版本:
node --version
npm --version
(6) 安装python
sudo apt-get install python
(7) 配置docker镜像加速
推荐适用docker官方提供的中国镜像加速:https://www.docker-cn.com/registry-mirror
(注意不同版本的docker配置方法不同,我所用的17.12.0-ce是在软件的preferences中进行配置)
2. 下载对应平台的fabric二进制包
按照官方教程给的方式下载通常都会报错,具体原因不清楚,估计是墙的因素,所以建议先将其对应的脚本文件拷贝下来。
进入https://github.com/hyperledger/fabric/blob/master/scripts/bootstrap.sh
本地先新建一个目录用于存储待会儿下载下来的bin文件,我建的是~/hyperledger-fabric-binary
在该目录下新建文件download.sh,将网址中的脚本复制进新文件中
chmod a+x download.sh
./download.sh运行
(说明:这个脚本主要干两件是,一是下载用于fabric开发的bin文件夹,二是下载需要的docker镜像
第一步下载bin文件夹可能很慢甚至失败,注意检查下载完成后bin中应该包含有如下文件:
cryptogen, configtxgen, configtxlator, peer, orderer, fabric-ca-client
如果不对可能是下载失败,建议直接到脚本文件中的对应网址用迅雷进行下载,两个下载的网址分别为:
https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/${ARCH}-${VERSION}/hyperledger-fabric-${ARCH}-${VERSION}.tar.gz
https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric-ca/hyperledger-fabric-ca/${ARCH}-${VERSION}/hyperledger-fabric-ca-${ARCH}-${VERSION}.tar.gz
需要搞清楚自己系统对应的$ARCH和$VERSION变量分别是什么,这样才能下载到正确的文件。
第二步下载docker images在配置了docker镜像加速后通常都能很快下载完成,如果很慢请检查docker镜像加速配置是否正确或者换到其他的镜像源。)
随后配置环境变量,与之前类似,在~/.bash_profile文件中把bin文件的目录位置加入到$PATH当中。
3. 下载fabric-samples
建议放在自己的用户目录下,
git clone -b master https://github.com/hyperledger/fabric-samples.git
cd fabric-samples
git checkout {TAG}
{TAG}对应版本号,要用与第二步下载的binary匹配的版本号,git tag命令可以查看目前的版本
接着查看该文件夹下各个子文件夹的所属用户组:ls -l
如果所属用户组为root,更改为用户自己:sudo chown -R [your username] *
4. 参照教程运行first-network
./byfn.sh -m generate
./byfn.sh -m up
完成