目录
简介
- 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
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安装开发部署(一)必要条件