Hyperledger Fabric(入门)

入门

在咱们开始以前,若是你尚未这样作,你可能但愿检查是否已经在开发区块链应用程序和/或运行Hyperledger Fabric的平台上安装了全部前提条件。html

一旦安装了前提条件,就能够下载并安装HyperLedger Fabric了,当咱们在Fabric二进制文件上开发真正的安装程序时,咱们提供了一个能够将示例、二进制文件和Docker映像安装到你的系统中的脚本,脚本还会将Docker映像下载到本地注册表。java

前提条件

在咱们开始以前,若是你尚未这样作,你可能但愿检查您是否已经在开发区块链应用程序和/或运行Hyperledger Fabric的平台上安装了如下全部前提条件。node

安装cURL

若是尚未安装cURL工具,或者文档中出现运行cURL命令的错误,请下载最新版本的cURL工具。python

若是你在Windows系统上,请查看下面关于的Windows附件条件。

Docker和Docker Compose

你须要将如下安装在你将要操做或开发Hyperledger Fabric的平台上:c++

  • MacOSX,*nix,或Windows 10:Docker - Docker版本17.06.2-ce或更高版本
  • 旧版本的Windows:Docker Toolbox - 一样,Docker版本Docker 17.06.2-ce或更高版本

你能够在终端提示符中检查你安装的Docker版本:git

docker --version
为Mac或Windows安装Docker,或者Docker Toolbox也会安装Docker Compose,若是你已经安装了Docker,你应该检查是否安装了Docker Compose版本1.14.0或更高版本,若是没有,咱们建议你安装Docker的最新版本。

你能够从终端提示符中使用如下命令检查安装的Docker Compose程序的版本:github

docker-compose --version

Go编程语言

Hyperledger Fabric的许多组件使用Go编程语言。golang

  • Go版本1.10.x

假设咱们将在Go中编写链代码程序,有两个环境变量须要正确设置;你能够经过将这些设置放在适当的启动文件中使其永久存在,好比你的我的~/.bashrc文件,若是你在Linux下使用bash shell。docker

首先,必须将环境变量GOPATH设置为指向包含下载的Fabric代码库的Go工做区,以下所示:shell

export GOPATH=$HOME/go
必须设置 GOPATH变量

即便在Linux中,Go的GOPATH变量能够是一个冒号分隔的目录列表,而且若是未设置,则使用默认值$HOME/go,当前Fabric构建框架仍然须要你设置并导出该变量,并且它必须只包含Go工做空间的单个目录名。(这个限制可能在未来的版本中被移除。)

其次,你应该(一样,在适当的启动文件中)扩展命令搜索路径以包含Go bin目录,例以下面Linux下的bash示例:

export PATH=$PATH:$GOPATH/bin

虽然这个目录可能不存在于新的Go工做区安装中,可是稍后Fabric构建系统将使用少许的Go可执行文件来填充它,构建系统的其余部分将使用这些文件,所以,即便你目前尚未这样的目录,也能够像上面那样扩展shell搜索路径。

Node.js Runtime and NPM

若是你使用Node.js的Hyperledger Fabric SDK开发Hyperledger Fabric应用程序,你须要安装版本8.9.x的Node.js。

暂时不支持Node.js 9.x。

安装Node.js将会安装NPM,可是,建议你确认安装了NPM的版本,你可使用如下命令升级 npm工具:
npm install npm@5.6.0 -g

Python

如下仅适用于ubuntu 16.04用户.

默认状况下,Ubuntu 16.04自带Python 3.5.1做为python3二进制版本安装,Fabric Node.js SDK须要Python 2.7的迭代才能成功完成npm install操做,使用如下命令检索2.7版本:

sudo apt-get install python

检查你的版本:

python --version

Windows附加条件

若是你是在Windows 7上开发的,那么你将但愿在Docker Quickstart终端中工做,该终端使用Git Bash,并提供比内置Windows shell更好的选择。

然而,经验代表这是一个功能有限的开发环境,它适用于运行基于Docker的场景,例如入门,可是你可能对涉及makedocker命令的操做有困难。

在Windows 10上,你应该使用原生Docker发行版,而且可使用Windows PowerShell,可是,要使binaries命令成功运行,你仍然须要使用uname命令,你能够将其做为Git的一部分得到,但要注意,只支持64位版本。

在运行任何git clone命令以前,运行如下命令:

git config --global core.autocrlf false
git config --global core.longpaths true

你能够经过如下命令检查这些参数的设置:

git config --get core.autocrlf
git config --get core.longpaths

它们须要分别为falsetrue

Git和Docker Toolbox附带的curl命令很旧,不能正确地处理入门时使用的重定向,请确保安装并使用cURL下载页面中的新版本。

为Node.js你还须要必要的Visual Studio c++构建工具,这些工具是免费提供的,能够经过如下命令安装:

npm install --global windows-build-tools

有关详细信息,请参阅NPM windows-build-tools页面

完成此操做后,还应该使用如下命令安装NPM GRPC模块:

npm install --global grpc

你的环境如今应该已经准备好进行入门示例和教程了。

若是你有本文档未解决的问题,或者遇到任何教程中的问题,请访问 仍然有问题?页面,获取关于在何处找到额外帮助的一些提示。

安装示例、二进制文件和Docker映像

当咱们为Hyperledger Fabric二进制开发真正的安装程序时,咱们提供了一个能够下载并安装示例和二进制文件到你的系统的脚本,咱们认为,你会发现安装的示例应用程序对了解有关Hyperledger Fabric的功能和操做很是有用。

若是你在Windows上运行,你将但愿使用Docker Quickstart终端来执行即将到来的终端命令,若是你以前没有安装,请看前提条件。

若是你在Windows 7或macOS上使用Docker Toolbox,你将须要使用一个在C:\Users(Windows 7)或/Users(macOS)下的位置安装和运行样例。

若是你在Mac上使用Docker,你须要使用/Users/Volumes/private/tmp下的位置,要使用不一样的位置,请参阅Docker文档的共享文件

若是你在Windows中使用Docker,请参考Docker文档中的共享驱动器,并在其中一个共享驱动器下使用一个位置。

肯定机器上要放置fabric-samples存储库的位置,并在终端窗口中输入该目录,下面的命令将执行如下步骤:

  1. 若是须要,克隆hyperledger/fabric-samples存储库
  2. 检出适当的版本标记
  3. 在fabric-samples存储库的根目录中安装指定版本的Hyperledger Fabric平台专用二进制文件和配置文件
  4. 下载Hyperledger Fabric docker镜像指定的版本

准备好以后,在你将要安装Fabric样例和二进制文件的目录中,继续执行如下命令:

curl -sSL http://bit.ly/2ysbOFE | bash -s 1.2.0
若是你想下载Fabric,Fabric-ca和第三方Docker映像,你必须将版本标识符传递给脚本。
curl -sSL http://bit.ly/2ysbOFE | bash -s <fabric> <fabric-ca> <thirdparty>
curl -sSL http://bit.ly/2ysbOFE | bash -s 1.2.0 1.2.0 0.4.10
若是在运行上述curl命令时出现错误,那么可能使用的curl版本太旧,没法处理重定向或不支持的环境。

请看前提条件部分,了解关于在何处找到curl的最新版本并得到正确环境的更多信息,或者你能够替换未缩短的URL:https://github.com/hyperledger/fabric/blob/master/scripts/bootstrap.sh

你能够对任何已发布的Hyperledger Fabric版本使用上面的命令,只需用但愿安装的版本的版本标识符替换1.2.0便可。

上面的命令下载并执行bash脚本,该脚本将下载并提取全部平台特定的二进制文件,你将须要这些二进制文件来创建您的网络,并将它们放到上面建立的克隆repo中,它检索下列特定于平台的二进制文件:

  • cryptogen
  • configtxgen
  • configtxlator
  • peer
  • orderer
  • idemixgen
  • fabric-ca-client

并将它们放在当前工做目录的bin子目录中。

你可能想要将其添加到PATH环境变量中,这样就能够在不彻底限定每一个二进制文件的路径的状况下获取这些环境变量。e.g.:

export PATH=<path to download location>/bin:$PATH

最后,脚本将从Docker Hub下载Hyperledger Fabric docker映像到你本地Docker注册表,并将其标记为“latest”。

脚本列出了在结束时安装的Docker映像。

看看每一个镜像的名字;这些组件将最终构成咱们的Hyperledger Fabric网络,你还会注意到,同一镜像ID有两个实例 - 一个标记为“amd64-1.x.x”,一个标记为“latest”,在1.2.0以前,下载的镜像由uname -m肯定,显示为“x86_64-1.x.x”。

在不一样的体系结构,将用标识体系结构的字符串替换x86_64/amd64。
若是你有本文档未解决的问题,或者遇到任何教程中的问题,请访问 仍然有问题?页面,获取关于在何处找到额外帮助的一些提示。

Hyperledger Fabric SDKs

Hyperledger Fabric提供了许多SDK来支持各类编程语言,官方发布了两款针对Node.js和Java的SDK:

另外,还有3个SDK尚未正式发布(对于Python、Go和REST),可是它们仍然能够下载和测试:

Hyperledger Fabric CA

Hyperledger Fabric提供一个可选的证书受权服务,你能够选择使用该服务生成证书和密钥材料,以配置和管理区块链网络中的身份。可是,可使用任何能够生成ECDSA证书的CA。

相关文章
相关标签/搜索