前言

本文主要是镜像部署网络,最终成功运行first-network。


一、拉取fabric项目

首先,我们创建并进入项目目录

mkdir -p ~/go/src/github.com/hyperledger
cd ~/go/src/github.com/hyperledger

然后拉取fabric项目

git clone https://github.com/hyperledger/fabric.git

下载缓慢,还可能会出错中断,反正我报错了

fabric可以不部署在docker上吗 fabric 2.0部署_git


对此,我们可以加大缓存区

git config --global http.postBuffer 524288000

然后将https地址换成ssh地址来clone

git clone git://github.com/hyperledger/fabric.git

再次拉取fabric项目,成功。

拉取好后,切换fabric版本为2.0

cd fabric
git checkout v2.0.0

显示如下

fabric可以不部署在docker上吗 fabric 2.0部署_github_02

二、修改bootstrap.sh脚本并拉取镜像

因为在执行bootstrap.sh脚本时等待时间漫长且极易失败,这里我们修改下bootstrap.sh,仅拉取镜像,之后我们再手动下载拉取fabric-samples及二进制文件。

首先我们进入到scripts目录

cd ~/go/src/github.com/hyperledger/fabric/scripts

修改当前目录的bootstrap.sh脚本

vim ~/go/src/github.com/hyperledger/fabric/scripts/bootstrap.sh

找到并将SAMPLES和BINARIES后面的true改为false,如下图:

fabric可以不部署在docker上吗 fabric 2.0部署_区块链_03


修改完脚本保存退出后,执行它

./bootstrap.sh

部分组件可能会下载失败,如果有失败遗漏的,重新执行下./bootstrap.sh多下几次就好了,我是下了两次才完整下载好的,全部下载好后如下图所示:

fabric可以不部署在docker上吗 fabric 2.0部署_perl_04

三、拉取fabric-samples

首先进入hyperledger目录

cd ~/go/src/github.com/hyperledger

然后拉取fabric-samples

git clone https://github.com/hyperledger/fabric-samples.git

拉取成功后切换到v2.0.0分支

cd ~/go/src/github.com/hyperledger/fabric-samples
git checkout v2.0.0

四、下载二进制文件

下载二进制文件,这里在终端内下载比较慢,我是打开浏览器下载的:
https://github.com/hyperledger/fabric/releases/download/v2.0.1/hyperledger-fabric-linux-amd64-2.0.1.tar.gz.

下载完成后将压缩包复制到当前的fabric-samples目录,并解压压缩包

tar -xzvf hyperledger-fabric-linux-amd64-2.0.1.tar.gz

五、 启动first-network网络

进入first-network文件夹

cd ~/go/src/github.com/hyperledger/fabric-samples/first-network

启动first-network网络

./byfn.sh up

出现报错

fabric可以不部署在docker上吗 fabric 2.0部署_perl_05


这时需要将GOPROXY换成国内代理:

go env -w GOPROXY=https://goproxy.cn
export GOPROXY=https://goproxy.cn

重新运行first-network:

./byfn.sh down
./byfn.sh up

结果如下

fabric可以不部署在docker上吗 fabric 2.0部署_github_06


fabric可以不部署在docker上吗 fabric 2.0部署_区块链_07

如上图所示,出现END,运行成功了!

查看容器运行情况,执行命令:

docker ps

最后别忘了停止网络

./byfn.sh down

至此,我们的第一个fabric网络就启动成功了!!

接下来,让我们尝试运行下官方的链码:
在Ubuntu18.04上部署搭建hyperledge fabric 2.0(三):手动运行官方链码