区块链智能合约技术与应用 课件 第5章 Hyperledger Composer入门.pptx
第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(