典型的Hyperledger Composer解决方案架构
Hyperledger Composer使架构师和开发人员能够快速创建“全栈”区块链解决方案。即在区块链上运行的业务逻辑,将区块链逻辑暴露给Web或移动应用程序的REST API,以及将区块链与现有企业记录系统集成。
Hyperledger Composer由以下高级组件组成:
- 执行运行时
- JavaScript SDK
- 命令行界面
- REST服务器
- LoopBack连接器
- 游乐场Web用户界面
- Yeoman代码生成器
- VSCode和Atom编辑器插件
执行运行时
Hyperledger Composer旨在支持不同的可插拔运行时,目前有三种运行时实现:
- Hyperledger Fabric v1.2。状态存储在分布式分类帐中。
- Web,在网页中执行,由Playground使用。状态存储在浏览器本地存储中。
- 嵌入式,在Node.js进程中执行,主要用于单元测试业务逻辑。状态存储在内存中的键值存储中。
连接配置文件
Hyperledger Composer中使用连接配置文件来指定如何连接到执行运行时。每种类型的执行运行时都有不同的配置选项。例如,Hyperledger Fabric v1.2运行时的连接配置文件将包含Fabric对等体的TCP / IP地址和端口,以及加密证书等。
连接配置文件是业务网卡的一部分。
JavaScript SDK
Hyperledger Composer JavaScript SDK是一组Node.js API,使开发人员能够创建应用程序来管理已部署的业务网络并与之交互。
API分为两个npm模块:
composer-client
用于向业务网络提交事务或对资产和参与者执行创建,读取,更新,删除操作composer-admin
用于管理业务网络(安装,启动,升级)
所有API的详细信息都以JSDocs的形式提供(参见参考资料)。
作曲家客户端
该模块通常作为应用程序的本地依赖项安装。它提供了业务应用程序用于连接到业务网络以访问资产,参与者和提交事务的API 。在生产中,这只是需要作为应用程序的直接依赖项添加的模块。
作曲家管理员
此模块通常作为管理应用程序的本地依赖项安装。此API允许创建和部署业务网络定义。
命令行界面
该composer
命令行工具使开发人员和管理员部署和管理的业务网络定义。
REST服务器
Hyperledger Composer REST服务器自动为业务网络生成Open API(Swagger)REST API。REST服务器(基于LoopBack技术)将业务网络的Composer模型转换为Open API定义,并在运行时实现对资产和参与者的创建,读取,更新和删除支持,并允许提交事务以进行处理或检索。
LoopBack连接器
Hyperlerger Composer LoopBack Connector由Composer REST Server使用,但也可以由本机支持LoopBack的集成工具单独使用。或者,它可以与LoopBack工具一起使用,以创建更复杂的REST API自定义。
游乐场Web用户界面
Hyperledger Composer Playground是一个用于定义和测试业务网络的Web用户界面。它允许业务分析师快速导入在Web或Hyperledger Fabric运行时上执行的样本和原型业务逻辑。
Yeoman代码生成器
Hyperledger Composer使用开源Yeoman代码生成器框架来创建框架项目:
- Angular Web应用程序
- Node.js应用程序
- 骨架业务网络
VSCode和Atom编辑器扩展
Hyperledger Composer为VSCode和Atom提供了社区贡献的编辑器扩展。VSCode扩展功能非常强大,可验证Composer模型和ACL文件,提供语法突出显示,错误检测和代码段支持。Atom插件更基本,只有基本的语法高亮。