文档详情

区块链智能合约技术与应用 课件 第5章 Hyperledger Composer入门.pptx

发布:2025-06-07约7.15千字共85页下载文档
文本预览下载声明

第5章HyperledgerComposer入门;

5.1HyperledgerComposer简介;;

2.工作流步骤2——部署和测试业务网络

借助HyperledgerComposer独特的建模语言和工程结构,能够轻松地进行应用程序的开发。

开发完成后,首先需要使用HyperledgerComposer命令将工程代码打包成一个BNA(BusinessNetworkApplication,业务网络应用包);接着将该网络包(BNA)安装部署到Fabric网络的Peer节点上,然后启动该网络;最后可通过HyperledgerComposer的RestServer工具生成RestfulAPI进行可视化测试。为了让用户可以方便调试,HyperledgerComposer提供了日志功能,用户可以通过查看交易日志来分析测试结果,如图5-2所示。;;

5.2环境搭建;

安装步骤如下:

(1)使用Cd命令切换至想要安装HyperledgerComposer框架的目录,命令行如下:

(2)用Curl命令远程下载自动安装脚本,命令行如下:;

(3)下载完毕后执行脚本。如遇到无法执行的问题,可先使用Chmod命令修改脚本权限为可执行,然后再执行该脚本,命令行如下:;

(4)退出系统当前用户并重新登录,使系统设置生效,命令行如下:

(5)安装HyperledgerComposer相关工具所需的Linux指令如下:;;

(6)安装Fabric运行时环境:

①创建并切换至fabric工作目录,稍后要将Fabric工具下载到该目录中,命令行如下:;

②下载并解压Fabric测试服务器压缩包,命令行如下:

③运行解压后的脚本并安装Docker镜像文件,命令行如下:;

(7)启动Fabric测试网络并创建网络节点访问卡(证书),命令行如下:;

5.3HyperledgerComposer的建模语言;

2.?CTO文件的内容

CTO文件后缀为?.CTO。一个完整的CTO模型文件包含下面几个方面:

(1)命名空间。

(2)资源定义(资产、参与者、交易等)。

(3)从其他命名空间导入(按需)。;

5.3.1命名空间

CTO中命名空间的概念和其他语言的概念基本一致,类似于文件系统中的文件目录或Java中的包,主要作用是对代码文件进行合理的划分。

在Composer开发中,业务网络可能会有一个或多个.CTO模型文件。通常,每个模型文件以命名空间作为文件名,用于对不同资源进行划分。

一个CTO文件必须在文件开头指定一个命名空间。该文件中定义的资源只属于该命名空间,不同命名空间的资源相互独立。;;

5.3.2资源

资源可以理解为区块链业务网络中出现的对象,是Composer的重要概念。

1.资源的种类

资源对象包含以下种类:

(1)资产(Asset):即有价值的、可被交易的物品。

(2)参与者(Participant):参与业务网络的角色。

(3)交易(Transaction):业务网络中的资产转移。

(4)事件(Event):业务网络中触发的某种通知。

(5)枚举(Enum):一组同类型的值的集合。

(6)概念(Concept):资源中的通用属性集。;

2.资源的特点

资源的特点如下:

(1)资源属于某命名空间。

(2)资源名在命名空间内唯一。

(3)资源类型为Asset和Participant时,必须指定主键(Identifiedby)。

(4)资源类型为Transaction时,会自动生成ID和交易时间,因此不能显式地指定主键。

(5)资源具有属性(o表示属性)。

;

(6)资源可互相依赖(--表示依赖)。

(7)资源支持单继承(Extends关键字)。

(8)资源支持抽象类(Abstract关键字)。

资源定义格式如下:;

5.3.3属性

每种资源都可能具有属性,用“o+属性类型+属性名”表示。如电脑可能有名称、生产数量、价格、功能、生产日期等属性。

1.属性的样例代码;

2.属性的基本类型

属性包括如下基本类型:

(1)?String(UTF-8字符串);

(2)?Double(64位带符号浮点数);

(3)?Integer(32位带符号整数);

(4)?Long(

显示全部
相似文档