区块链框架-在Ubuntu16.04上搭建Hyperledger Fabric1.0环境步骤
搭建环境这个过程确实困难重重,希望各位要有心理准备,相信经过耐心的探索之后会有收获的,大家共同沟通进步。
首先附上必备的工具的版本信息:
①Oracle VM virtualBox 版本号:4.3.10
②Ubuntu 版本号:16.04.4
③go语言 版本号:1.9.2
④docker 版本号:17.03.2-ce
⑤docker-compose 版本号:1.21.2
附上详细信息图:
各种工具准备好了之后,开始搭建环境,在这里需要感谢笔者深蓝居,我就是根据他博客里面的步骤一步步去搭建的。
链接:https://www.geek-share.com/detail/2714767820.html
各种小伙伴可以先按照他的步骤去搭建,此文的作用在于讲述我根据上面链接搭建过程中遇到的问题,以及后来是如何解决的。
一,GO的下载和安装(注意:不要使用apt方式安装go,apt的go版本太低了!)
下载:
可以尝试用该命令 wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz
只不过我一直下载不成功,后来我就先在windows本机下载go1.9版本的压缩包,再通过文件夹共享的方式传到虚拟机。
附上虚拟机设置共享文件夹的链接:https://jingyan.baidu.com/article/c1a3101e7aac93de656deb27.html
安装:
[code]sudo tar -C /usr/local -xzf go1.9.linux-amd64.tar.gz
接下来编辑当前用户的环境变量:
[code]vi ~/.profile
添加以下内容:
[code]export PATH=$PATH:/usr/local/go/bin export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$HOME/go/bin
编辑保存并退出vi后,记得把这些环境载入:
[code]source ~/.profile
我们把go的目录GOPATH设置为当前用户的文件夹下,所以记得创建go文件夹
[code]cd ~ mkdir go
二,docker安装
深蓝居作者的做法是:curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
只不过我一直下载有问题,所以我采用了apt安装的方式。。
附上apt安装方式参考链接:https://jingyan.baidu.com/article/0aa223756cf6e388cc0d6412.html
安装完成后需要修改当前用户(我使用的用户叫fabric)权限:
[code]sudo usermod -aG docker fabric
注销并重新登录,然后添加阿里云的Docker Hub镜像:
[code]sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
三,docker-compose安装
Docker-compose是支持通过模板脚本批量创建Docker容器的一个组件。在安装Docker-Compose之前,需要安装Python-pip,运行脚本:
[code]sudo apt-get install python-pip
然后是安装docker-compose,我们从官方网站(https://github.com/docker/compose/releases)下载也可以从国内的进行DaoClound下载,为了速度快接下来从DaoClound安装Docker-compose,运行脚本:
[code]curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose sudo mv ~/docker-compose /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
四,Fabric源码下载(注意,需要下载v1.0.0的源码)
[code]我们可以使用Git命令下载源码,首先需要建立对应的目录,然后进入该目录,Git下载源码:
[code]mkdir -p ~/go/src/github.com/hyperledger cd ~/go/src/github.com/hyperledger git clone https://github.com/hyperledger/fabric.git
由于Fabric一直在更新,所有我们并不需要最新最新的源码,需要切换到v1.0.0版本的源码即可:
[code]cd ~/go/src/github.com/hyperledger/fabric git checkout v1.0.0
五,Fabric Docker镜像下载
运行脚本:
[code]cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/ source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0
下载完毕后,我们运行以下命令检查下载的镜像列表:
[code]docker images
得到的结果如下:
六,启动网络
在e2e_cli目录下,执行脚本: ./network_setup.sh up
正常执行的话结果应该如下图所示:
七,最后就是进行手动测试啦
我们仍然是以现在安装好的Example02为例,在官方例子中,channel名字是mychannel,链码的名字是mycc。我们首先进入CLI,我们重新打开一个命令行窗口,输入:
[code]docker exec -it cli bash
运行以下命令可以查询a账户的余额:
[code]peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'
可以看到余额是90:
果然,一切正常。最后我们要关闭Fabric网络,首先需要运行exit命令退出cli容器。关闭Fabric的命令与启动类似,命令为:
[code]cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli ./network_setup.sh down
重点来了,附上该过程中遇到的一些问题以及解决方式。
问题一:执行脚本./network.setup_sh up启动网络时报错:
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running
解决方式:将当前用户加入docker组
sudo gpasswd -a ${USER} docker
${USER}替换成你的用户名,比如从我的截图可以看出,我的用户名是r
再切换为root:sudo su
再切换回r用户:su r
问题二:执行脚本./network.setup_sh up启动网络时报错:network e2ecli_default not found
解决方式:修改网络名
修改~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/base目录下的peer-base.yaml
将网络名改成如下名称即可
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2e_cli_default
最后再次感谢深蓝居作者的知识共享,其博客链接:https://www.geek-share.com/detail/2714767820.html
阅读更多- 区块链之Hyperledger(超级账本)Fabric v1.0 的环境搭建(超详细教程)
- Ubuntu16.04搭建Hyperledger Fabric 1.0.5开发环境
- 区块链、Hyperledger-Fabric框架Win10环境搭建
- 区块链 hyperledger fabric1.0 环境搭建
- 在Ubuntu 16.04 上搭建Hyperledger Fabric 1.0
- Ubuntu16.04搭建Hyperledger Fabric 1.0.5开发环境
- ubuntu 搭建hyperledger-fabric开发环境
- 快速搭建一个Hyperledger Fabric 1.0的环境(目前很多环境搭建方法都会中途挂掉,这个亲测有效!)
- Fabric 1.0 环境搭建(Ubuntu 16.04)
- Hyperledger Fabric 1.0 实战开发系列 第二课 Fabric环境搭建
- hyperledger fabric 1.0环境搭建出错记录
- 区块链hyperledger fabric 环境搭建 centos7 docker环境
- Hyperledger Fabric V1.0 学习笔记(一) Centos 7中的环境搭建
- hyperledger fabric 1.0环境搭建出错记录
- 区块链之Hyperledger(超级账本)Fabric v1.0 的环境搭建(超详细教程)
- 在Ubuntu 18.04上搭建HyperLedger Fabric 1.2.0 环境
- hyperledger fabric 1.0 mac环境搭建并运行示例e2c_cli
- Ubuntu下HyperLedger fabric开发环境搭建
- ubuntu虚拟机环镜搭建hyperledger fabric环境
- Hyperledger Fabric开发环境与运行环境的搭建