hyperledger fabric v1.4.0 linux 环境搭建详细(1)

找个擅长go语言的队友,最近想学习go语言,想找个队友互相帮助,共同学习,有意愿的话请私信我

一,前言  

友情提示: 1.4.0 由于不支持raft共识, 是一大遗憾, 不过1.4.x的搭建都大同小异, 学会1.4.0了自然可以进行以后版本的搭建, 另外搭建完成后, 建议尝试1.4.3及以后的版本, 最后其实2.0以后的环境安装其实比1.4的环境还要简单一些。

最近搭建了一套 hyperledger fabric的环境,因为涉及到很多的新知识,坑特别多,所以写个博客记录一下,也可以给新人朋友一点帮助! 

本文是基于linux:ubuntu16的环境,centos7安装的差异之处本文中也有提到,低于centos 7 的操作系统无法安装超级账本1.4.0的网络。

hyperledger fabric环境搭建起来比计较复杂,所以一定要认真阅读本文,仔细按照文中的步骤进行。如果你搭建过程中出错了,一般是由于某个依赖软件版本不一致照成的,可以仔细阅读本文,找出问题所在。

开始正文:

首先按照官方文档,hyperledger fabric的环境需要依赖以下这些软件:为了保证环境正常运行,请与下方的保持一致

  • cURL:目前是7.64.0.
  • Docker和Docker compose:这个比较关键,不过略有差别应该也影响不大,博主是docker:18.6 , docker-compose:1.23, 可以比这个新
  • Go:go版本必须是1.11.x,
  • node:它是必须8.x,高版本的不支持!
  • Python:Python2.7,为了可以成功执行npm install命令! 

OK! 进本的依赖环境已经介绍完了 ,下面介绍一下如何安装,因为可能有些人不会安装,导致运行失败挺可惜的。

二,基本依赖环境安装

1,cURL:

cURL下载链接: 下载cURL

  

进入后,选择最新版本下载,我这里是7.64,

直接安装的话,不支持https,所以我们要先添加对HTTPS的支持,

Ubuntu执行如下命令:

sudo apt-get install openssl 
sudo apt-get install libssl-dev

centos的话,执行如下命令:

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

 进入解压后的目录

cd <解压生成的目录>

执行如下命令:

./configure

如果提示:configure: error: no acceptable C compiler found in $PATH

执行 

ubuntu:需要先update

sudo apt-get update
 
sudo apt-get install gcc

centos: 

yum install gcc

然后 在执行一下./configure , 报错:

解决 

./configure --disable-dependency-tracking

最后一行日志有HTTPS,则成功.

然后:

make
make install

 有些在执行make命令时,如果提示没有该命令,执行 apt install make 即可

另外安装过程中会有如下提示

意味着我们需要添加一个环境变量, /etc/profile 中添加

export LD_LIBRARY_PATH=/usr/local/lib 

然后执行 

source /etc/profile

OK ,执行 curl --version 查看下一下是否安装成功.

2,安装docker和docker compose

只需要一个命令:

snap install docker 

 此命令执行不成功的 , 可以参考我的另一篇博客

验证是否安装成功

docker version
docker-compose -v

3:安装go

安装包下载地址为:https://golang.org/dl/

如果打不开可以使用这个地址:https://golang.google.cn/dl/

 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

/etc/profile中添加如下四个环境变量:  (注,直接复制可能会在每行的末尾多出一个空格, 需手动删除)

export PATH=$PATH:$GOROOT/bin
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

export GOROOT=/usr/local/go  // go安装包的解压路径

export PATH=$PATH:$GOROOT/bin  //配置go的bin目录.
export GOPATH=$HOME/go      //go的项目目录, 可以自行配置路径,
export PATH=$PATH:$GOPATH/bin


source /etc/profile 使环境变量生效, 用go version 验证一下go是否安装成功!!!

source /etc/profile 使环境变量生效, 用go version 验证一下go是否安装成功!!!

4:安装nodejs, 

error,版本号必须是8.x(程序员往往会把warning忽略掉,所以这里error仅是为了引起注意)

执行命令

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install nodejs

即可,使用node -v 命令验证安装成功共与否。

4:安装python

如果是Ubuntu16的话,安装Python很简单 , 只需要一条命令

sudo apt-get install python

即可,安装完成后,通过python --version 查看一下Python的版本号 必须是2.7.x

OK,如果你已经严格按照如上所说的步骤全部成功完成了的话,那么恭喜你,你已经把hyperledger fabric的依赖环境安装好了,  对于hyperledger fabric项目的搭建你已经成功了60% , 跟着教程继续走下去吧.

三,安装示例,二进制文件,以及docker镜像

创建并进入目录 mkdir -p $GOPATH/src/github.com/hyperledger, cd $GOPATH/src/github.com/hyperledger, 注意当前路径是hyperledger目录

1 , 下载fabric-sample

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

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

然后下载二进制文件并解压 , 由于官方提供的文件下载速度慢, 我这里提供了一份压缩好的二进制文件 ,方便大家进行下载. 下载不了的童鞋可以联系博主免费获取。

下载完之后解压会形成bin,和config目录, 此时列出当前目录应该有一下文件,

然后执行如下命令,赋予bin目录下的文件可执行权限 , 

chmod +x bin/*

 下载镜像文件

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

3,启动网络

将bin目录设置到系统环境变量中,并使之生效:

在/etc/profile中添加
export PATH=$PATH:$GOPATH/src/github.com/hyperledger/bin
然后执行
source profile

通过

peer version

命令来验证你的二进制文件,以及环境变量的配置是否成功,成功后的提示信息:

进入目录

cd fabric-samples/fabcar/

启动脚本

./startFabric.sh 

进入目录

 cd javascript

执行命令,(此命令执行可能报错, 后面有解决方案)

npm install

在执行命令之前,要确保你的环境已经安装了g++, 如果没有安装, 执行

centos:

yum -y install gcc+ gcc-c++

ubuntu:

apt-get install g++

另外,如果执行npm install 命令报错

NPM Unexpected end of JSON input while parsing near xxxxxxxxxxxxxx

解决办法:

first:

npm install --registry=https://registry.npm.taobao.org --loglevel=silly

then:

npm cache clean --force

安装好之后,依次 执行

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

如果是这种结果则说明启动成功.

下面我们停掉此网络,启动first-network网络, 进入first-network文件夹

cd ../../first-network/

停掉刚刚启动的网络

./byfn.sh down

启动first-network

./byfn.sh up

如果出现如上页面 , 那么恭喜你,你的超级账本1.4的环境已经搭建成功了! 

环境搭建成功的同学,可以参考我的另一篇博客,进行接下来的超级账本学习。

https://blog.csdn.net/qq_27348837/article/details/88354838

博主QQ:2961921525,有问题的朋友可以联系, 博主会尽量给与帮助,或是直接发送QQ邮箱即可.如果您按照博主的博客搭建环境成功了,请点赞或是好评 , 也不枉博主辛辛苦苦花了一上午的时间写博客了

猜你喜欢

转载自blog.csdn.net/qq_27348837/article/details/86974035