Hyperledger-Fabric · 2017年11月1日 0

Hyperledger-Fabric安装开发部署(一)必要条件

简介

  • Hyperledger Fabric是分布式账本解决方案的平台,以模块化架构为基础,提供高度的机密性,弹性,灵活性和可扩展性。它旨在支持不同组件的可插拔实现,并适应经济生态系统中存在的复杂性性。
  • Hyperledger Fabric提供独特的弹性和可扩展架构,区别于其他区块链解决方案。在未来的规划中,对于企业区块链将完全建立在审核且开源架构之上; Hyperledger Fabric是你最好的起点。

官方英文版教程:
http://hyperledger-fabric.readthedocs.io/en/latest/index.html


1. cURL

cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。cURL还包含了用于程序开发的libcurl。

cURL支持的通信协议有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。

libcurl支持的平台有Solaris、NetBSD、FreeBSD、OpenBSD、Darwin、HP-UX、IRIX、AIX、Tru64、Linux、UnixWare、HURD、Windows、Symbian、Amiga、OS/2、BeOS、Mac OS X、Ultrix、QNX、BlackBerry Tablet OS、OpenVMS、RISC OS、Novell NetWare、DOS等。

本文默认环境为centos

$ sudo yum -y install curl

2. Docker and Docker Compose

Docker是一个开放源代码软件项目,让应用程序布署在软件容器下的工作可以自动化进行,借此在Linux操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制。Docker利用Linux核心中的资源分脱机制,例如cgroups,以及Linux核心名字空间(name space),来创建独立的软件容器(containers)。这可以在单一Linux实体下运作,避免引导一个虚拟机造成的额外负担。Linux核心对名字空间的支持完全隔离了工作环境中应用程序的视野,包括进程树、网络、用户ID与挂载文件系统,而核心的cgroup提供资源隔离,包括CPU、内存、block I/O与网络。

2.1. Docker安装

centos下安装Docker:
官方安装详细说明

$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
$ sudo yum-config-manager --enable docker-ce-edge
$ sudo yum-config-manager --enable docker-ce-test
$ sudo yum-config-manager --disable docker-ce-edge
$ sudo yum install docker-ce

安装完成后检查Docker版本:

$ docker --version
Docker version 17.06.2-ce, build a176465

2.2 Docker-Compose安装

官方安装详细说明

$ sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 可能需要赋予执行权限(755,777,等按需自行填写)
$ sudo chmod 755 /usr/local/bin/docker-compose

这里指定的目录的是/usr/local/bin/docker-compose
指定的版本是1.18.0,建议使用最新版,详情访问github.Docker-Compose

安装完成后检查Docker-Compose版本:

$ docker-compose --version
docker-compose version 1.18.0, build 1719ceb

Docker操作的基本命令

3. Go 语言

Go是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。为了方便搜索和识别,有时会将其称为Golang。

在Go官网中找到最新的linux环境Go的安装包地址
https://redirector.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz
有可能出现curl下载不完整或者出错的情况,可以本地下载后上传至服务器。

$ curl -O https://redirector.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz
# 下载完成后解压
$ tar -C /usr/local -xzf go1.9.2.linux-amd64.tar.gz
# 修改Go环境变量
$ vi /etc/profile

加入以下内容

export PATH=$PATH:/usr/local/go/bin
export GOPATH=/opt/gopath

保存并退出vi,载入新的环境变量:

$ source /etc/profile

安装完成后检查Go版本:

$ go version
go version go1.9.2 linux/amd64

4. Node.js and NPM

Node.js是一个能够在服务器端运行JavaScript的开放源代码、跨平台JavaScript运行环境。Node.js由Node.js基金会持有和维护,并与Linux基金会有合作关系。Node.js采用Google开发的V8运行代码,使用事件驱动、非阻塞和异步输入输出模型等技术来提高性能,可优化应用程序的传输量和规模。这些技术通常用于数据密集的事实应用程序。

Node.js大部分基本模块都用JavaScript语言编写。在Node.js出现之前,JavaScript通常作为客户端程序设计语言使用,以JavaScript写出的程序常在用户的浏览器上运行。Node.js的出现使JavaScript也能用于服务器端编程。Node.js含有一系列内置模块,使得程序可以脱离Apache HTTP Server或IIS,作为独立服务器运行。

npm(全称Node Package Manager,即Node包管理器)是Node.js默认的、以JavaScript编写的软件包管理系统。

如果需要使用Hyperledger-Fabric开发自己的程序,建议使用Node.js-SDK,java等对应的SDK尚不完善,并且官方很多示例中均使用了Node.js。

需要注意的是Hyperledger-Fabric目前仅支持-version 6.x
Node.js官方有详细的说明:https://nodejs.org/en/download/package-manager
我们需要执行以下命令安装Node.js:

$ curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
$ sudo yum -y install nodejs

安装完成后检查版本:

$ node -v
v6.11.3
$ npm -v
3.10.10

5. 下载Fabric源码

我们可以使用Git命令下载源码,首先需要建立对应的目录,然后进入该目录,Git下载源码:

$ mkdir -p /opt/gopath/src/github.com/hyperledger
$ cd /opt/gopath/src/github.com/hyperledger
$ git clone https://github.com/hyperledger/fabric.git
# 可以用git获取指定的版本
$ cd /opt/gopath/src/github.com/hyperledger/fabric
$ git checkout v1.0.0

如果没有git命令使用yum install git安装

6. 下载Fabric Docker镜像

官方已经写好了下载镜像的脚本
/opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli
e2e_cli是官方一个简单测试项目,之后会深入研究其他不同的项目。

执行以下命令下载所需要的Fabric Docker镜像文件,需要一定的时间。

$ cd /opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli
$ source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0
# 下载完成后执行以下命令查看
$ docker images

在这里可能你的Docker服务没有开启,会报错,启动Docker服务就好。

可以查看到所有的images

此时基本上已经完成了Hyperledger-Fabric运行所有需要的所有东西


下一篇将会以官方e2e_cli作为例子说明如何运行

.
.
.
.
.
.
.
【本文章出自NM1024.com,转载请注明作者出处。】






>>转载请注明原文链接地址:Hyperledger-Fabric安装开发部署(一)必要条件