区块链3.0_精通Hyperledger之使用Hyperledger composer搭建系统-mac系统(8.2)


声明:本文转载自https://my.oschina.net/mdxlcj/blog/1825476,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

 

1、上一篇搭建成功之后,接下来创建一个新的业务网络

步骤点击如图:

 

在1的地方,输入自己的名字,我写的是tutorial-network

然后点击2,最后在右面3选择Deploy进行部署,成功之后截图:

2、连接到商业网络

    现在我们已经创建并部署了业务网络,您应该会在我们的钱包中看到一个名为admin的新业务网络卡,用于我们的业务网络教程 - 网络。钱包可以包含业务网卡以连接到多个部署的业务网络。

    连接到外部区块链时,业务网卡代表连接到业务网络所需的所有内容。它们包括连接详细信息,身份验证资料和元数据。

    要连接到我们的业务网络,请点击我们业务网络卡下的立即连接

我这里已经连接过了,所以是灰色的,你们第一次的话都是深颜色,可以点击进入页面如图:

3、添加模型文件

点击1那个文件,然后编辑2,将里面的内容替换成

/**  * 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 }

最后执行3

该域模型定义了单个资产类型Commodity和单个参与者类型Trader以及Trade用于修改商品所有者的单个交易类型。

 

4、添加事务处理器脚本文件

    现在已经定义了域模型,我们可以定义业务网络的事务逻辑。Composer使用JavaScript函数表达业务网络的逻辑。这些功能在交易提交处理时自动执行。

    4.1 点击添加文件按钮

    4.2 单击脚本文件并单击添加

    4.3 删除脚本文件中的代码行并将其替换为以下代码

/**  * 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); }

此功能仅owner根据newOwner收到的Trade交易的财产更改商品的财产。然后它将修改Commodity后的内容保存到资产注册表中,用于存储Commodity实例。

    5、访问控制

    访问控制文件定义了业务网络的访问控制规则。我们的网络很简单,所以默认的访问控制文件不需要编辑。基本文件为当前参与者提供了networkAdmin对业务网络和系统级操作的完全访问权限。虽然可以有多个模型或脚本文件,但在任何业务网络中只能有一个访问控制文件。

    6、部署更新的业务网络

    现在我们有模型,脚本和访问控制文件,我们需要部署和测试我们的业务网络。

    单击部署更改以升级业务网络。

    其实就是左下角的那个Deploy,我们每一步都做了,不必执行

    7、测试业务网络定义

    接下来,我们需要建立一些参与者(在这种情况下,以测试我们的业务网络交易商),创造了一个素材资源(商品),然后使用我们的贸易交易改变所有权的商品。执行下面的那个test

跳转到test,界面发生改变

    8、创建参与者

     8.1 确保您在左侧选择了交易者选项卡,然后点击右上角的创建新参与者

因此删除那里的代码并粘贴以下内容,下面两个代码是创建两个参与者!!!就是执行两遍操作,但是输入不同的内容,保证两个参与者,千万不要写在一起!!!!

{   "$class": "org.example.mynetwork.Trader",   "tradeId": "TRADER1",   "firstName": "Jenny",   "lastName": "Jones" }
{   "$class": "org.example.mynetwork.Trader",   "tradeId": "TRADER2",   "firstName": "Amy",   "lastName": "Williams" }

 

9、创建资产

    9.1 现在我们有两个交易者参与者,我们需要他们交易的东西。创建资产与创建参与者非常相似。我们正在创建的商品将拥有一个所有者属性,表明它属于交易者,并且tradeId是TRADER1

    9.2 点击资产下的商品标签,然后点击创建新资产,删除资产数据并将其替换为以下内容

{   "$class": "org.example.mynetwork.Commodity",   "tradingSymbol": "ABC",   "description": "Test commodity",   "mainExchange": "Euronext",   "quantity": 72.297,   "owner": "resource:org.example.mynetwork.Trader#TRADER1" }

成功截图:

10、在参与者之间转移商品

    现在我们有两个交易员和一个商品在他们之间进行交易,我们可以测试我们的交易交易。事务是Hyperledger Composer业务网络中所有变化的基础,请尝试从“ 我的业务网络”屏幕创建另一个业务网络并使用更高级的业务网络模板。

    10.1 点击左侧的Submit Transaction按钮,确保交易类型为交易,将交易数据替换为以下内容,或者更改详细信息,最后点击提交

{   "$class": "org.example.mynetwork.Trade",   "commodity": "resource:org.example.mynetwork.Commodity#ABC",   "newOwner": "resource:org.example.mynetwork.Trader#TRADER2" }

    10.2 检查我们的资产已经改变所有权从TRADER1TRADER2,通过扩大资产数据部分。你应该看到所有者被列为resource:org.example.mynetwork.Trader#TRADER2

    10.3 要查看我们业务网络的完整交易历史记录,请点击左侧的所有交易。以下是每个交易提交时的清单。您可以看到,我们使用用户界面执行的某些操作(例如创建交易参与者和商品资产)被记录为交易,即使它们未在我们的业务网络模型中定义为交易。这些事务被称为“系统事务”,并且对于所有业务网络都是通用的,并且在Hyperledger Composer运行时中定义

 

    11、注销业务网络

        现在交易已成功运行,我们应该注销商业网络,最终在我们开始的“ 我的商家网络”屏幕上结束。    

        在屏幕的右上角是一个标有admin的按钮。这将列出您当前的身份,注销,单击管理以打开下拉菜单,然后单击我的商业网络

 

介绍:

将业务网络部署到真正的结构。

在本地使用Playground,您可以使用连接到在浏览器本地存储中工作的“Web浏览器”,或者您可以使用连接到通常在名为“hlfv1”的组中使用真实结构的连接

如果你连接到一个真正的 Fabric,那么你很可能已经创建了一个卡,用于PeerAdmin和ChannelAdmin角色的身份 - 这通常称为PeerAdmin。这是您用于使用Composer部署和更新网络的卡。

当您将网络部署到真正的 Fabric时,需要完成其他字段才能点击“ 部署”按钮 - 您需要提供网络管理员的详细信息。

滚动到部署屏幕的底部以查找网络管理员的凭据。对于简单的开发结构和许多测试网络,您可以提供ID和秘密。注册ID - 管理员注册密码 - adminpw

当指定ID和秘密时,您可以单击“ 部署”按钮并在第三步中继续教程。

如果您正在使用自定义或生产结构 - 请联系您的结构管理员以获取网络管理员的详细信息。

 

连接到真实Fabric时更新业务网络

当您使用真实光纤网并单击部署更改时,您将看到一个添加弹出式对话框,要求您从下拉列表中指定安装卡和升级卡。通常,您指定与用于部署初始网络相同的PeerAdmin卡。如果您不确定,请联系您的Fabric Administrator。

选择卡片,然后点击升级按钮。请注意,在真正的Fabric上,这可能需要几分钟才能完成。

 

本文发表于2018年06月07日 08:00
(c)注:本文转载自https://my.oschina.net/mdxlcj/blog/1825476,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 1927 讨论 0 喜欢 0

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1