摘要:脚本列出了在结束时安装的映像。在不同的体系结构,将用标识体系结构的字符串替换。提供了许多来支持各种编程语言,官方发布了两款针对和的和文档。。
入门
在我们开始之前,如果你还没有这样做,你可能希望检查是否已经在开发区块链应用程序和/或运行Hyperledger Fabric的平台上安装了所有前提条件。
一旦安装了前提条件,就可以下载并安装HyperLedger Fabric了,当我们在Fabric二进制文件上开发真正的安装程序时,我们提供了一个可以将示例、二进制文件和Docker映像安装到你的系统中的脚本,脚本还会将Docker映像下载到本地注册表。
前提条件在我们开始之前,如果你还没有这样做,你可能希望检查您是否已经在开发区块链应用程序和/或运行Hyperledger Fabric的平台上安装了以下所有前提条件。
安装cURL如果还没有安装cURL工具,或者文档中出现运行cURL命令的错误,请下载最新版本的cURL工具。
如果你在Windows系统上,请查看下面关于的Windows附件条件。Docker和Docker Compose
你需要将以下安装在你将要操作或开发Hyperledger Fabric的平台上:
MacOSX,*nix,或Windows 10:Docker - Docker版本17.06.2-ce或更高版本
旧版本的Windows:Docker Toolbox - 同样,Docker版本Docker 17.06.2-ce或更高版本
你可以在终端提示符中检查你安装的Docker版本:
docker --version
为Mac或Windows安装Docker,或者Docker Toolbox也会安装Docker Compose,如果你已经安装了Docker,你应该检查是否安装了Docker Compose版本1.14.0或更高版本,如果没有,我们建议你安装Docker的最新版本。
你可以从终端提示符中使用以下命令检查安装的Docker Compose程序的版本:
docker-compose --versionGo编程语言
Hyperledger Fabric的许多组件使用Go编程语言。
Go版本1.10.x
假设我们将在Go中编写链代码程序,有两个环境变量需要正确设置;你可以通过将这些设置放在适当的启动文件中使其永久存在,比如你的个人~/.bashrc文件,如果你在Linux下使用bash shell。
首先,必须将环境变量GOPATH设置为指向包含下载的Fabric代码库的Go工作区,如下所示:
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 - 版本8.9.x或更高
安装Node.js将会安装NPM,但是,建议你确认安装了NPM的版本,你可以使用以下命令升级npm工具:
npm install npm@5.6.0 -gPython
以下仅适用于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 --versionWindows附加条件
如果你是在Windows 7上开发的,那么你将希望在Docker Quickstart终端中工作,该终端使用Git Bash,并提供比内置Windows shell更好的选择。
然而,经验表明这是一个功能有限的开发环境,它适用于运行基于Docker的场景,例如入门,但是你可能对涉及make和docker命令的操作有困难。
在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
它们需要分别为false和true。
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存储库的位置,并在终端窗口中输入该目录,下面的命令将执行以下步骤:
如果需要,克隆hyperledger/fabric-samples存储库
检出适当的版本标记
在fabric-samples存储库的根目录中安装指定版本的Hyperledger Fabric平台专用二进制文件和配置文件
下载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 -scurl -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=/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:
Hyperledger Fabric Node SDK 和 Node SDK 文档。
Hyperledger Fabric Java SDK。
另外,还有3个SDK还没有正式发布(对于Python、Go和REST),但是它们仍然可以下载和测试:
Hyperledger Fabric Python SDK
Hyperledger Fabric Go SDK
Hyperledger Fabric REST SDK
Hyperledger Fabric CAHyperledger Fabric提供一个可选的证书授权服务,你可以选择使用该服务生成证书和密钥材料,以配置和管理区块链网络中的身份。但是,可以使用任何可以生成ECDSA证书的CA。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/24185.html
摘要:企业区块链平台企业级许可的分布式分类账平台,为广泛的行业用例提供模块化和多功能性。这些节点通过应用已经由共识协议验证的交易来维护分类帐的副本,该交易被分组为包括将每个块绑定到前一个块的散列的块中。 企业区块链平台 企业级许可的分布式分类账平台,为广泛的行业用例提供模块化和多功能性。 介绍 一般而言,区块链是一个不可变的交易分类账,维护在一个分布式对等节点网络中。这些节点通过应用已经由共...
摘要:是企业与区块链相遇的地方。的框架旨在成为开发区块链解决方案的支柱。以太坊,主要是针对工程师使用进行区块链以太坊开发的详解。 如果你想将区块链合并到一个Java项目中,现在我们来看看就是这个细分领域中三个最大的OSS玩家。 好的伙计们,我们都听说过比特币,以太坊或其他加密货币,其中有一些时髦的名字围绕着我们常见的新闻,但我们作为Java开发人员知道如何轻松地与这些区块链技术进行交互吗?以...
摘要:环境搭建快速入门前提安装安装安装安装查看版本信息输出安装查看版本信息输出版本要求版本要求上传解压文件编辑环境变量文件添加如下内容输出如果系统中有旧版本的则使用如下命令卸载旧版本的然后再重新安装 环境搭建 快速入门: http://hyperledger-fabric.rea... 前提 安装git $ sudo apt update $ sudo apt install git 安装...
摘要:和比特币协议有所不同的是,以太坊的设计十分灵活,极具适应性。超级账本区块链的商业应用超级账本超级账本是基金会下的众多项目中的一个。证书颁发机构负责签发撤 showImg(https://segmentfault.com/img/bV2ge9?w=900&h=385); 从比特币开始 一个故事告诉你比特币的原理及运作机制 这篇文章的定位会比较科普,尽量用类比的方法将比特币的基本原理讲出来...
摘要:还提供创建通道的功能,允许一组参与者创建单独的交易分类账。共识交易必须按照发生的顺序写入分类账,即使它们可能位于网络中不同的参与者组之间。 介绍 Hyperledger Fabric是分布式分类账解决方案的平台,采用模块化架构,提供高度机密性,弹性,灵活性和可扩展性,它旨在支持不同组件的可插拔实现,并适应整个经济生态系统中存在的错综复杂的事物和复杂性。 我们建议首次使用的用户首先阅读下...
阅读 3459·2019-08-30 13:15
阅读 1400·2019-08-29 18:34
阅读 821·2019-08-29 15:18
阅读 3479·2019-08-29 11:21
阅读 3245·2019-08-29 10:55
阅读 3687·2019-08-26 10:36
阅读 1867·2019-08-23 18:37
阅读 1815·2019-08-23 16:57