Hyperledger Fabric v1.4.0 CentOS 环境搭建详细

基本依赖环境安装

一、安装cURL

首先执行如下命令:

yum install openssl-devel

安装cURL
下载安装包

wget https://curl.haxx.se/download/curl-7.64.0.tar.gz

解压到指定文件夹

tar -zxvf curl-7.64.0.tar.gz -C /root

进入解压生成的文件夹

cd /root/curl-7.64.0

安装gcc

yum install gcc

执行如下命令

./configure

最后一行日志有HTTPS说明安装成功
在这里插入图片描述
执行命令

make
make install

通过命令

curl --version

检查是否安装成功,有版本号说明成功

二、安装docker和docker compose

# 使用yum安装docker
yum -y install docker
# 启动
systemctl start docker.service
# 设置为开机自启动
systemctl enable docker.service
# 下载docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 添加可执行权限(这里不懂可以看一下菜鸟教程-linux教程-文件权限)
sudo chmod +x /usr/local/bin/docker-compose

通过以下命令检查版本,查看是否安装成功

docker version
docker-compose -v

在这里插入图片描述

三、安装GO

下载安装包

 wget https://dl.google.com/go/go1.11.5.linux-amd64.tar.gz

解压

tar -C /usr/local -xzf go1.11.5.linux-amd64.tar.gz

利用如下命令编辑文件添加环境变量

vim /etc/profile
# go安装包的解压路径
export PATH=$PATH:$GOROOT/bin
# 配置go的bin目录
export GOROOT=/usr/local/go
# go的项目目录, 可以自行配置路径
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

通过如下命令使环境变量生效

source /etc/profile

通过如下命令检查是否生效,如果没有就再次执行上述命令

go version

安装NODEJS

curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install -y nodejs

通过如下命令检查是否安装成功

node -v
npm -v

安装Python

# 版本必须使2.7.x
yum install python
# 检查是否安装成功
python --version

安装实例、二进制文件、docker镜像

创建并进入目录

mkdir -p $GOPATH/src/github.com/hyperledger
cd $GOPATH/src/github.com/hyperledger

下载fabric-sample

安装git

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
yum install -y git
 git clone -b v1.4.0 https://github.com/hyperledger/fabric-samples

下载二进制文件和镜像文件

由于官方提供的文件下载速度慢,此处提供安装包(提取码:e7p0),下载完成后可通过FTP方式上传到上述的hyperledger文件夹
解压hyperledger-fabric-linux-amd64-1.4.0.tar.gz形成binconfig两个文件夹
至此,hyperledger文件夹中应具有以下三个文件夹
在这里插入图片描述
执行如下命令,赋予bin目录下的文件可执行权限

chmod +x bin/*

下载镜像文件

cd fabric-samples/scripts
./bootstrap.sh -b

启动网络

/etc/profile中添加

export PATH=$PATH:$GOPATH/src/github.com/hyperledger/bin

并通过

source /etc/profile

使之生效

通过

peer version

验证二进制文件以及环境变量的配置是否成功
成功日志如下
在这里插入图片描述
进入/root/go/src/github.com/hyperledger/fabric-samples/fabcar 目录,启动脚本

./startFabric.sh 

这里比较容易报的错误是

Container b90c0c52d7142735b4da8718043cf35197f267250ff9d621615fe42ada5d5950 is not running

查看docker日志

Cannot run peer because error when setting up MSP of type bccsp from directory /etc/hyperledger/msp/peer/: could not load a valid signer certificate from directory /etc/hyperledger/msp/peer/signcerts: could not read directory /etc/hyperledger/msp/peer/signcerts: open /etc/hyperledger/msp/peer/signcerts: permission denied

是权限问题(我目前虚拟机上是这个问题),目前找到的方法是关闭selinux
通过如下命令修改文件

vim /etc/selinux/config
# 默认为 enforcing 修改为 disabled
SELINUX=disabled

重启Linux系统

如果是阿里云服务器则可能是go的DNS解析,不支持阿里云机器的options single-request-reopen,通过如下命令修改文件

vim /etc/resolv.conf

将其中的options timeout:2 attempts:3 rotate single-request-reopen注释掉

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 100.100.2.136
nameserver 100.100.2.138
#options timeout:2 attempts:3 rotate single-request-reopen

返回/root/go/src/github.com/hyperledger/fabric-samples/fabcar重新启动脚本

./startFabric.sh 

启动脚本成功的截图如下
在这里插入图片描述
进入目录

 cd javascript

安装g++

yum -y install gcc+ gcc-c++

执行命令

npm install

完成后依次执行如下命令

node enrollAdmin.js 
node registerUser.js 
node query.js

启动成功的截图如下
在这里插入图片描述
进入目录

cd ../../first-network/

停掉刚才启动的网络

./byfn.sh down

启动first-network

./byfn.sh up

出现如下截图说明超级账本1.4的环境搭建成功
在这里插入图片描述
作者吐槽:这个环境真的搭建得崩溃了,尤其是上面的容器启动失败的bug,困扰了多少天都不知道了,写作此文既是对搭建过程的总结,也是分享总结经验,感谢浏览此文的每一位读者!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值