温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用Hyperledger composer创建一个新的业务网络

发布时间:2021-12-06 15:09:47 来源:亿速云 阅读:206 作者:小新 栏目:互联网科技

这篇文章主要介绍了使用Hyperledger composer创建一个新的业务网络,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

1、接下来创建一个新的业务网络

步骤点击如图:

使用Hyperledger composer创建一个新的业务网络

使用Hyperledger composer创建一个新的业务网络

使用Hyperledger composer创建一个新的业务网络

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

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

使用Hyperledger composer创建一个新的业务网络

2、连接到商业网络

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

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

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

使用Hyperledger composer创建一个新的业务网络

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

使用Hyperledger composer创建一个新的业务网络

3、添加模型文件

使用Hyperledger composer创建一个新的业务网络

点击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 点击添加文件按钮

使用Hyperledger composer创建一个新的业务网络

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

使用Hyperledger composer创建一个新的业务网络

    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

使用Hyperledger composer创建一个新的业务网络

跳转到test,界面发生改变

使用Hyperledger composer创建一个新的业务网络

    8、创建参与者

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

使用Hyperledger composer创建一个新的业务网络

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

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

 使用Hyperledger composer创建一个新的业务网络

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"
}

使用Hyperledger composer创建一个新的业务网络

成功截图:

使用Hyperledger composer创建一个新的业务网络

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"
}

使用Hyperledger composer创建一个新的业务网络

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

使用Hyperledger composer创建一个新的业务网络

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

    11、注销业务网络

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

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

介绍:

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

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

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

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

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

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

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

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

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

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

感谢你能够认真阅读完这篇文章,希望小编分享的“使用Hyperledger composer创建一个新的业务网络”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI