在Hyperledger Composer上创建区块链解决方案的教程



由于现代商业需求,IBM与其他公司携手开发了一个名为“ Hyperledger Fabric”项目的开源商业区块链网络。 由于模块化架构,数字密钥和按需数据检索,超账结构被视为全球未来基于区块链的模块化架构应用程序的基础。 Hyperledger Fabric的其他优点在下面给出,以方便您进行解释。

模块化结构

Hyperledger Fabric使开发人员更容易直接将自己的可插入组件创建到区块链架构中。 开发人员将能够在需要或需要时引入新模块。 而且,他们不需要从头开始构建系统。 Syncrasy Tech IT解决方案公司可以为您提供区块链开发和Salesforce开发服务。

PKC11数字钥匙

Hyperledger Fabric具有经过修改和未经修改的PKC11,可用于生成数字密钥。 这些密钥特别增强了数据保护。 想想使用区块链技术的抵押公司。 抵押贷款不应公开。 它要求各方在网络中进行自我检查以确保真实性。 借助Hyperledger Fabric之类的模块化区块链框架,您可以在敏感数据部分中提供足够的安全性数据。

必要时进行数据检索

到目前为止,Hyperledger Fabric的渠道还没有得到应有的重视。 通道允许进行数据分区,从而可以保持应该来自区块链框架的数据安全。 这在金融公司考虑采用区块链但竞争对手看到公司数据的情况下很有用。 借助Hyperledger Fabric上的通道,您可以将敏感数据存储在数据分区中。 传统/公共区块链缺少此便利功能。

不可信任

Hyperledger Fabric以不同的方式高效地管理事务。 它减少了交易通过所需的信任层和验证的数量。 这使交易变得更容易,更快地完成,并且在任何数字平台上都没有任何问题。

Hyperledger Fabric是一个广泛的话题,但是对于对区块链应用程序开发感兴趣的开发人员,这篇文章会有所帮助。

在这里,我正在谈论Hyperledger Composer的入门。

Hyperledger Composer是我最喜欢的区块链应用程序开发工具。 hyperledger composer基于包括node.js,CLI,npm和编辑器在内的工具构建,提供了示例应用程序以及测试DevOps流程以创建区块链应用程序的工具。

可以通过运行以下脚本来安装Hyperledger Composer:

cd $HOME curl -O -k https://hyperledger.imtqy.com/composer/latest/prereqs-ubuntu.h chmod u+x prereqs-ubuntu.sh 

运行以下命令以开始安装过程:

 sudo apt-get install -y software-properties-common 

安装过程需要准备好组件:

CLI工具

 npm install -g composer-cli@0.20 


游乐场

 npm install -g composer-playground@0.20 

超级账本面料

 mkdir ~/fabric-dev-servers && cd ~/fabric-dev-servers 

集成开发环境

您可以将许多IDE与Hyperledger Composer一起使用。 两种最常见的类型是Atom和VS Code IDE。

Atom IDE

下载Atom IDE @ atom.io

Atom是一个免费的开源文本编辑器IDE,可通过其智能自动完成功能帮助您更快地编写代码。 它还支持跨平台编辑,因此允许Atom在不同的操作系统上工作。 您可以将代码分成多个窗格,以比较和编辑不同文件中的代码。

将项目文件夹添加到Atom的步骤:

转到文件菜单。

单击添加项目菜单或按(ALT + CTRL + O)。

指定文件夹的路径,然后选择文件夹。

通过单击“新文件”菜单选项创建“文件”。

这是在Atom中打开文件的方式:



在Atom中运行HTML文件的步骤:

右键单击打开的文件。

在网络浏览器上打开“文件”。

打开“ Script-Runner”以在Atom IDE中运行脚本。

(注意:它支持CoffeeScript,Python,JavaScript,Bash和Ruby)

VS代码

下载Visual Studio Code IDE @ code.visualstudio.com/download

Visual Studio支持具有Intellisense代码完成功能,工具功能,带有断点的调试功能,调用堆栈和交互式控制台的源代码编辑器的功能。 Hyperledger Composer的VS代码通过语法突出显示,轻松自定义,社区贡献的键盘快捷键映射,框选择和自动缩进来帮助您提高生产力。

我将引导您完成使用Hyperledger Composer创建区块链解决方案的步骤。

以下步骤将为您概述适用于您自己的开发工作的技术:

Hyperledger Composer适用于业务网络定义(BND)的关键概念,可帮助您以最简单的方式创建区块链解决方案。

第一步

第一步是使用Yeoman生成器创建业务网络的结构。 使用此命令完成步骤:

 yo hyperledger-composer:businessnetwork 

为了执行命令,您将需要业务网络的名称,作者名称,作者电子邮件地址。 只需输入tutorial-network。

输入-Apache 2.0作为许可证选择详细信息。

按照以下命令输入名称空间;

 rg.example.mynetwork 

第二步

第二步是定义一个由以下组成的业务网络:

  • 参加者
  • 资产
  • 交易次数
  • 访问控制规则
  • 事件和查询

打开模型文件

 org.example.mynetwork.cto 

用以下代码替换内容:

 /** * My commodity trading network */ namespace org.example.mynetwork asset Commodity identified by tradingSymbol { o String tradingSymbol o String description o String mainExchange o Double quantity --> Trader owner } participant Trader identified by tradeId { o String tradeId o String firstName o String lastName } transaction Trade { --> Commodity commodity --> Trader newOwner } 

使用以下命令保存您所做的所有更改:

 org.example.mynetwork.cto 

添加JavaScript事务逻辑的步骤

事务处理器功能文件包含执行模型文件中给定事务的JavaScript逻辑。

第一步

打开logic.js脚本文件。

第二步

 Replace the whole content by following the code: /** * Track the trade of a commodity from one trader to another * @param {org.example.mynetwork.Trade} trade - the trade to be processed * @transaction */ async function tradeCommodity(trade) { trade.commodity.owner = trade.newOwner; let assetRegistry = await getAssetRegistry('org.example.mynetwork.Commodity'); await assetRegistry.update(trade.commodity); } 

最后,将更改保存到

 logic.js 

将访问控制添加到您的区块链解决方案的步骤:

第一步
使用此文件Permissions.acl并通过以下步骤替换控制规则:

 /** * Access control rules for tutorial-network */ rule Default { description: "Allow all participants access to all resources" participant: "ANY" operation: ALL resource: "org.example.mynetwork.*" action: ALLOW } rule SystemACL { description: "System ACL to permit all access" participant: "ANY" operation: ALL resource: "org.hyperledger.composer.system.**" action: ALLOW } 

第二步
保存对Permissions.acl所做的更改。

这是您可以为区块链解决方案定义业务网络的方式。
我将告诉您该业务网络应如何打包到可部署的业务网络归档.bna文件中。

使用tutorial-network目录并运行以下命令:
作曲家档案库创建-t目录-n

正确执行命令后,您将看到在教程网络目录中创建的业务网络归档文件tutorial-network@0.0.1.bna。

部署业务网络的步骤:
第一步

在教程网络中,运行followinacg命令:

 omposer network install --card PeerAdmin@hlfv1 --archiveFile tutorial-network@0.0.1.bna 

第二步

要启动您的业务网络,请使用以下命令:

composer网络开始--networkName教程网络--networkVersion 0.0.1 --networkAdmin admin --networkAdminEnrollSecret adminpw --card PeerAdmin @ hlfv1 --file networkadmin.card

第三步

通过执行以下命令导入网络管理员身份:

 composer card import --file networkadmin.card 

第4步

要检查业务网络是否已成功部署,请使用以下命令:

 composer network ping --card admin@tutorial-network 

生成REST API服务器的步骤

向您的区块链解决方案中添加一层与语言无关的抽象也很重要。 REST API可以为您的区块链应用生成该层。

第一步

在第一步中,您需要通过导航到tutorial-network目录并运行以下命令来创建REST API:

 composer-rest-server 

第二步

接下来,使用以下命令输入卡名称:

 admin@tutorial-network 

第三步

在下一步中,当系统要求您在生成的REST API中使用名称空间时,请使用“从不使用名称空间”。

第4步

当要求保护API时,选择选项“否”

第5步

当要求启用事件发布选项时,选择选项“是”

第6步

当要求输入TLS安全性时,再次选择选项“否”。

步骤7

您将看到生成的API连接到您的区块链业务网络。

如何在Hyperledger Composer上开发Angular 4应用程序?

第一步

使用tutorial-network目录并运行命令:

 yo hyperledger-composer:angular 

第二步

连接跑步
通过在命令框中按“是”来建立业务网络。

第三步

对于您的名片,请输入以下命令:

 admin@tutorial-network 

第4步

通过选择“连接到现有REST API”来连接到REST API,然后继续。

第5步

对于REST服务器地址,选择选项localhost,然后输入3000作为服务器端口。

第6步

选择“不使用命名空间”选项,然后继续。

步骤7

通过使用npm start运行该应用程序。

步骤8

您将在REST API上准备好Angular 4应用程序,可以检查admin @ tutorial-network。

通过考虑以上几点,我可以对在Hyperledger Fabric Composer上创建区块链解决方案所需的三个核心点进行总结。 这些要点是,Fabric区块链网络,将区块链解决方案部署到网络以及Fabric REST API服务器。 开发人员应始终记住复杂的应用程序设计原理。 同样重要的是,您需要找到一个能为您带来良好结果的合格且经验丰富的开发人员。

感谢您的阅读,欢迎您提供反馈和意见。

Source: https://habr.com/ru/post/zh-CN468641/


All Articles