区块链 Hyperledger composer 发布商业环境
发布于 2 个月前 作者 stvenyin 361 次浏览 来自 fabric
    1. 业务网络定义
  • 业务网络定义是Hyperledger Composer编程模型的一个关键概念。它们由模块中BusinessNetworkDefinition定义的类表示,composer-common并由两者composer-admin和composer-client。
  • image.png
  • 业务网络定义由以下部分组成:
  • 一组模型文件
  • 一组JavaScript文件
  • 一个访问控制文件
  • 模型文件定义了业务网络的业务领域,而JavaScript文件包含事务处理器功能。事务处理器功能在Hyperledger Fabric上运行,并可访问存储在Hyperledger Fabric区块链世界状态中的资产注册表。
  • 模型文件通常由业务分析师创建,因为它们定义模型元素之间的结构和关系:资产,参与者和事务。
  • JavaScript文件通常由正在实施业务分析师提供的业务需求的开发人员创建。
  • 访问控制文件包含一组访问控制规则,用于定义业务网络中不同参与者的权限。
  • 一旦定义,可以使用composer命令行界面将业务网络定义打包到归档中。然后可以使用模块中的AdminConnection类在Fabric上部署或更新这些存档composer-admin。 *3. 部署商业网络 在部署业务网络定义之前,必须将其打包到业务网络存档(.bna)文件中。该composer archive create命令用于从磁盘上的业务网络定义文件夹创建业务网络归档文件。

一旦创建了业务网络存档文件,就可以使用composer network install命令和命令将其部署到Hyperledger Fabric composer network start。

例如:composer network install --archiveFile tutorial-network@1.0.0.bna --card PeerAdmin@fabric-network composer network start --networkName tutorial-network --networkVersion 1.0.0 --card PeerAdmin@fabric-network --networkAdmin admin --networkAdminEnrollSecret adminpw

    1. 测试业务网络
  • Hyperledger Composer支持三种类型的测试:交互式测试,自动化单元测试和自动系统测试。三者都有不同的用途,对确保区块链项目的成功至关重要。
  • 在部署了业务网络定义之后,通常运行一个互动的“冒烟测试”以确保部署成功。该composerCLI公开运行这样冒烟测试的命令。
  • 在另一端,您可以使用Docker Compose和Mocha / Chai编写完整的系统测试,这些测试启动运行时,部署您的业务网络定义,然后以编程方式创建资产,提交交易并检查资产注册状态。
  • 单元测试专注于确保在处理交易时对世界状态进行正确的更改。
  • 单元测试和系统测试的执行可以使用CI / CD构建流水线(例如Jenkins,Travis CI或Circle CI)或替代方法自动执行。
  • 交互式测试
  • 您可以使用Playground以交互方式测试创建参与者,资产和提交交易。
  • 从命令行进行测试
  • 命令行可用于检查运行时的状态并提交事务。使用该composer network list命令查看资产和参与者注册表的状态。使用该composer transaction submit命令提交事务。
  • 创建单元测试
  • 事务处理函数中的业务逻辑应该具有单元测试,理想情况下具有100%的代码覆盖率。这将确保您在业务逻辑中不存在拼写错误或逻辑错误。
  • 您可以使用标准的JavaScript测试库(例如Mocha,Chai,Sinon和Istanbul)来单元测试事务处理器功能中的逻辑。
  • 在embedded运行时进行单元测试非常有用,因为它可以让你快速在一个模拟的Node.js blockchain环境中测试的业务逻辑,而不必站立一个Hyperledger面料。

未完,待续。。。

回到顶部