(ubuntu)Hyperledger Composer – 基础安装部署测试(四)

作者:心有山海静而无边

来源:CSDN

原文链接:https://blog.csdn.net/qq_38591756/article/details/82950065?utm_source=copy

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本地部署您的区块链网络,与之交互并扩展它(第三部分)

1.将该网络部署到本地Hyperledger Fabric

Hyperledger Fabric是一个为业务用途构建区块链应用程序的框架,而您已经知道,Hyperledger Composer是一个配套工具,它使得构建在Hyperledger Fabric上运行的区块链应用程序变得更容易。

现在,将在自己的计算机上安装并运行Hyperledger Fabric,使用Composer命令行接口 (CLI) 与之交互。

获取 Hyperledger Fabric

首先,在您的计算机上创建一个您想在其中执行本地 Hyperledger Composer 开发的目录。本文中继续使用的是第三部分第二个小标题创建的目录,即~/HyperledgerComposer, 现在,使用 curl 命令将 fabric-dev-servers.zip 分发文件下载到您的 Composer 根目录,并解压它。命令序列如下所示(假设 ~/HyperledgerComposer 是本示例的根目录):

mkdir ~/HyperledgerComposer export COMPOSER_ROOT=~/HyperledgerComposer

以上两步如果之前已经完成可忽略 cd $COMPOSER_ROOT; mkdir fabric-dev-servers && cd fabric-dev-servers; curl -O https://raw.githubusercontent.com/hyperledger/composer-tools/master/packages/fabric-dev-servers/fabric-dev-servers.zip; unzip fabric-dev-servers.zip;

启动 Hyperledger Fabric 备注:在继续后面的操作之前,请确保 Docker 正在运行。

cd $COMPOSER_ROOT/fabric-dev-servers; ./downloadFabric.sh; ./startFabric.sh; ./createPeerAdminCard.sh; 运行downloadFabric.sh视网络情况或许会花费较长时间,该命令会获取所有必要的 Docker 映像。


第二个命令会启动本地 Hyperledger Fabric。


最后一个命令将为 Fabric 管理员(即 PeerAdmin)发放一个 ID 卡。


createPeerAdminCard.sh 脚本的输出类似下图:

记下卡名称,因为您需要使用它来执行本教程中的所有 CLI 命令。

只需运行 createPeerAdminCard.sh 脚本一次。从现在开始,无论任何时候启动 Hyperledger Fabric,只需像下面这样运行startFabric.sh 脚本即可:

cd $COMPOSER_ROOT/fabric-dev-servers ./startFabric.sh

该脚本运行完成后,Hyperledger Fabric 就会在您的计算机上运行。 要关闭本地 Hyperledger Fabric,请运行 stopFabric.sh 脚本。暂时不需要关闭,请让Hyperledger Fabric 保持运行。

部署到 Hyperledger Fabric

在第二部分,克隆了来自 GitHub 的 developerWorks 项目,并修改了 Perishable Goods 网络。developerWorks/iot-perishable-network目录中提供了该网络的一个已完成的版本。本教程的剩余部分将会使用该网络。

要将iot-perishable-network部署到本地Fabric,需要使用Composer CLI并执行这一系列命令:

进入目录: cd $COMPOSER_ROOT/developerWorks/iot-perishable-network

运行构建(这一步完成后会在目录中生成一个dist目录,包含iot-perishable-network.bna文件):npm install

测试: npm test

部署示例业务网络iot-perishable-network,"composer network install" 命令会部署指定的 .bna 文件到 Fabric 网络。.bna 文件包括了这个业务网络的 Assets 模型、交易事务逻辑、访问控制规则等定义,但它并不能直接在 Fabric 上运行。.bna 文件是由 Composer 生成的,它是用 Composer 提供支持的一系列建模语言、规范定义的业务网络定义,我们必须将它先安装在 Fabric Peer 节点上。然后才可以在这个节点上启动运行这个业务网络。

参数 -c (--card) 应指定为在上一步骤中生成 PeerAdmin Card 文件。

参数 -a (--archiveFile) 应指定为将要部署的业务网络文件包。

composer network install --card PeerAdmin@hlfv1 --archiveFile ./dist/iot-perishable-network.bna


启动业务网络,"composer network start" 用指定的 Card 启动这个网络;同时会生成一个当前业务网络的管理员 Card 文件,即此示例中的 networkadmin.card。

composer network start --networkName iot-perishable-network --networkVersion 0.1.12 --networkAdmin admin --networkAdminEnrollSecret adminpw --card PeerAdmin@hlfv1 --file networkadmin.card


导入 tutorial-network 管理员 Card composer card import -f networkadmin.card


查看导入的 Card 文件 composer card list


确认 tutorial-network 安装成功 composer network ping --card admin@iot-perishable-network


如果此时提示错误信息:Error: Connection is not in the READY state请返回三中安装composer-cli之后查看相应解决办法。

启动 REST Server,生成 REST 接口。在生成 REST 接口之前,确保 Hyperledger Fabric 正在运行且 iot-perishable-network 已部署(否则会没有连接目标)。 composer-rest-server


REST 服务器需要知道如何向 Hyperledger Fabric 执行身份验证,以便与业务网络进行通信。您需要提供一个 ID 卡来实现此目的(第 2 行),比如本教程前面的 admin@iot-perishable-network ID 卡。

命名空间有助于避免名称冲突。在 iot-perishable-network 中,这不是什么大问题,因为只有少量资产、参与者和事务。我认为始终使用命名空间是个不错的主意(第 3 行)。测试包含大量参与者、资产和事务的真实网络非常困难;使用命名空间有助于避免与名称冲突相关的麻烦。

使用 REST 接口执行测试时,暂时无需担心身份验证(第 4 行)、事件和 WebSocket(第 5 行)或 TLS 安全性(第 6 行)。但是,如果您决定部署 REST 服务器作为生产区块链解决方案的一部分,一定要查阅这里或本教程末尾处的相关主题中的链接。

下一次您想使用相同选项来启动 REST 服务器时,只需使用显示的命令(第 9 行)并跳过身份验证的交互步骤!

composer-rest-server -c admin@iot-perishable-network -n never

现在可以在本机上使用图中标注的链接http://localhost:3000/explorer访问区块链网络。

到这里,我们就成功地通过 Hyperledger Composer 安装了 Hyperledger Fabric,并部署、启动了第一个区块链业务网络iot-perishable-network。

2.使用REST 接口,访问区块链网络

要使用 REST 接口,请打开浏览器并访问上图中第 18 行上给出的地址。您将看到类似下面这样的信息:


3.其他

其余操作请查看参考链接中相关部分资料。一下不再赘述。 ---------------------

章发布只为分享区块链技术内容,版权归原作者所有,观点仅代表作者本人,绝不代表区块链兄弟赞同其观点或证实其描述。

本文由 区块链技术网 作者:区块链 发表,其版权均为 区块链技术网 所有,文章内容系作者个人观点,不代表 区块链技术网 对观点赞同或支持。如需转载,请注明文章来源。

发表评论