Hyperledger Fabric Ubuntu 16.04下部署

本篇旨在记录照着助教老师教程一步步艰难配置的过程。其中一是步骤摘要,二是重点记录自己在过程中遇到的问题及解决方案,三是助教老师给的完整的过程,适用于一步步照做从零开始,但可能并不对每个人保证没问题,如果途中遇到问题可以参照我的或自行解决。

一、摘要

    1.准备工作:新虚拟机安装Samba,实现文件夹和剪贴板共享。注意修改/etc/apt/sources.list时,千万先备份到sources.list.bak 而不要直接修改, 否则换完国内的源好多sudo apt-get 都不好使脸就黑了

     2. 下载go,并移动到目录,设置环境变量

     3. 安装docker,这步最复杂

     4. 下载fabric, 安装并运行示例

    感谢室友然神指点和助教老师的教程!

二、 难题步骤

1. 安装docker

按照助教给的用中科大源貌似行不通,按照然神提议照docker官网操作,设置代理后基本解决问题

1. 一开始第3步添加GPG key时行不通

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
报错:
pgg@ubuntu:~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
curl: (7) Failed to connect to download.docker.com port 443: Connection refused
gpg: no valid OpenPGP data found.

但这个设置了代理之后貌似就解决了?具体我也不清楚

2. 按官网命令添加完repository后,$ sudo apt-get update 时又遇到问题,下着下着速度就没有了,

Err:10 https://download.docker.com/linux/ubuntu xenial InRelease               
  Failed to connect to download.docker.com port 443: Connection refused

    解决方法:设置代理,将虚拟机sudo apt-get 利用主机上s代理,下载速度变为每秒几百k,详见我的另一篇文章

sudo apt-get update -c apt_proxy.conf
sudo apt-get install docker-ce -c apt_proxy.conf


2.  安装fabric

1. git 获取官网fabric代码时速度极慢,设置代理后提速百倍!

git config --global https.proxy 192.168.2.242:1080
git config --global http.proxy 192.168.2.242:1080

前面步骤照常,用docker安装镜像时出现问题,

===> List out hyperledger docker images
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.37/images/json: dial unix /var/run/docker.sock: connect: permission denied

上百度搜错误解决,王宝花的简书,注意里面最后一步是必须的!

2. hyperledger 执行出现问题,

2018-07-12 07:13:26.292 UTC [msp/identity] Sign -> DEBU 007 Sign: digest: A08C3B675318A2F011F0DD326D3DC10D6A4B61DC3E9B06088B24D6755674C9B3 
Error: Error endorsing query: rpc error: code = Unknown desc = could not find chaincode with name 'mycc' - make sure the chaincode mycc has been successfully instantiated and try again - 

这个可能是一开始复制了错误的命令导致的,切换到指定目录,并拉取 beta版镜像后,./network_setup.sh up 启动网络能出现 START - E2E 但不能出现 END - E2E !

cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/
source download-dockerimages.sh -c x86_64-1.0.0-beta -f x86_64-1.0.0-beta

把错误原因粘贴找了许多地方,都没解决,几乎放弃!!!

后来,我重启了机器,然后 source 了网上普遍流传的,非beta版:

source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0

然后再启动网络时错误就没了! 所以我也不知道是需要重启,还是需要拉取非beta版的镜像~


Hyperledger Fabric Ubuntu 16.04下部署_第1张图片



三、助教老师的完整教程,感谢他的付出!!!

Fabric部署

系统环境:ubuntu16.04

需要安装git、pip等常用工具

安装Go语言环境:

首先到https://golang.google.cn/dl/下载安装包并解压

tar -xvf go1.10.linux-amd64.tar.gz
sudo mv go /usr/local

编辑环境变量:

gedit ~/.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

在Home目录下创建go文件夹

mkdir go

安装Docker

更新源:

sudo apt-get update

添加使用 HTTPS 传输的软件包以及 CA 证书:

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

添加软件源的GPG密钥(此处用中科大的源):

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

向 source.list 中添加 Docker 软件源:

sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

安装和启动docker-ce:

sudo apt-get update
sudo apt-get install docker-ce
sudo systemctl enable docker
sudo systemctl start docker

增加docker用户组:

sudo groupadd docker
sudo usermod -aG docker $USER

安装Docker-compose(需要安装好pip工具):

sudo pip install docker-compose

安装Docker的方法有多种,使用sudo apt install docker.io安装的版本较低。一些教程上的安装方法不适合国内环境可以使用docker version命令查看版本

技巧:使用阿里云加速

$sudo mkdir -p /etc/docker
$sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["加速地址,到https://cr.console.aliyun.com/#/accelerator申请"]
}
EOF
$sudo systemctl daemon-reload
$sudo systemctl restart docker

Fabric源码下载

需要安装git工具

mkdir -p ~/go/src/github.com/hyperledger 
cd ~/go/src/github.com/hyperledger 
git clone https://github.com/hyperledger/fabric.git

切换到v1.0.0版本:

cd ~/go/src/github.com/hyperledger/fabric
git checkout v1.0.0

拉取Fabric Docker镜像:

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
source download-dockerimages.sh -c x86_64-1.0.0-beta -f x86_64-1.0.0-beta

启动示例网络:Hyperledger Fabric Ubuntu 16.04下部署_第2张图片

过程中可能会提示错误。尝试修改base下的peer-base文件:CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2e_cli_default

(这一步不同情况可能处理方法不同,请尽量自行尝试解决)

清理容器和停止网络:

docker rm -f $(docker ps -aq)
./network_setup.sh down

部署过程到此结束。


你可能感兴趣的:(Hyperledger Fabric Ubuntu 16.04下部署)