本文记录Hyperledger Fabric开发环境的准备,所用的系统是Ubuntu 16.04。
一、安装docker
sudo apt install docker.io
可通过docker -v查看版本
二、安装docker-compose。docker-compose是支持通过模板脚本批量创建Docker容器的一个组件。
sudo curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
安装成功后查看版本:docker-compose -v
三、GO语言环境安装
wget https://storage.googleapis.com/golang/go1.9.2.linux-amd64.tar.gz
解压该压缩包到/usr/local/目录下:
tar -C /usr/local -xzf go1.9.2.linux-amd64.tar.gz
接着,在你的$HOME目录下创建go目录,接着配置环境变量:
sudo vi ~/.profile
在末尾加上:
export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$HOME/go/bin
配置完毕后执行:
source ~/.profile
查看go的版本:
go version
四、获取Fabric源码
进入工作目录$HOME/go
创建以下一系列文件夹:$HOME/go/src/github.com/hyperledger
创建后进入hyperledger文件夹下,执行以下指令获取Fabric源码:
git clone https://github.com/hyperledger/fabric.git
同时执行以下指令,获取fabric-samples源码,这是官方提供的例子,可以帮助我们快速创建网络
git clone https://github.com/hyperledger/fabric-samples.git
五、下载镜像
源码下载完毕后,进入fabric,首先执行
git checkout release-1.0
将源代码切换到1.0版本 ,然后进入examples/e2e_cli目录下,从docker hub下载镜像:
chmod +x download-dockerimages.sh
./download-dockerimages.sh
在执行第二条命令的时候,可能会报超时,此时可以创建/etc/docker/daemon.json
文件(注意:文件内容必须符合 json 规范,否则Docker无法启动),并写入如下内容:
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
]
}
然后重新启动Docker服务即可正常下载:
sudo systemctl daemon-reload
sudo systemctl restart docker
下载完毕后,输入以下命令查看下载的镜像:
sudo docker images
结果如下:
六、编译工具
编译crytogen(生成相关证书)、configtxgen(生成创世区块以及通道配置相关的内容)工具。
1、进入到$HOME/go/src/github.com/hyperledger/fabric/common/configtx/tool/configtxgen目录下,目录结构如下:
然后直接执行以下命令:
go install
如果出现以下错误:
则执行:
sudo apt install libltdl-dev
执行完该命令后再执行go install即可。
2、进入$HOME/go/src/github.com/hyperledger/fabric/common/tools/cryptogen目录下:
执行以下命令:
go install
到此,我们的环境就准备完毕,接下来就是准备搭建fabric网络了
参考:
https://blog.csdn.net/xxxslinyue/article/details/79396618
https://blog.csdn.net/tiandiwuya/article/details/78771475
https://www.cnblogs.com/anliven/p/6218741.html
https://www.edureka.co/community/11869/how-to-solve-ltdl-h-no-such-file-or-directory-error