Hyperledger Composer

可能会有一些不完善或错误的地方,如果发现了请指出,谢谢!

Blockchain State Storage

交易通过 business network 存储到 blockchain ledger
当前的资产状态和参与者被存储到 blockchain state database
blockchain 分布式的账本和 state database 通过 一套 peers 来确保 ledger 的更新 和 state database 通过所有 peers的同一个共识算法来保持一致性

Connection Profiles

Hyperledger Composer 用 Connection Profiles 来连接一个 runtime.
Connection Profile 是一个JSON 文档,在 user’s home 目录下,也可能是一个环境变量。

Assets

Assets 可以是实物 也可以是与无形的事物,服务或者属性。在登记的时候被存储。
Assets 有一个唯一的 identifier, 它们可以包含任何你想定义的属性。
Assets 可能与另一份 assets 或 参与者有联系。

Participants

参与者是一些商业网络。他们可能拥有自己的资产和提交的交易。
参与者类型是一个模型,像 assets 必须有一个 idetifier 并且能够有任何被需要的其它属性。

Transactions

transactions 是一个通过参与者资产交互的机制
这可以像参与者对拍卖中的资产进行投标,或拍卖商标记拍卖结束一样简单,自动将资产所有权转让给最高出价人。

Events

Events 在 business network 中以资产和参与者的相同的定义方式被定义。
一旦 events 已经被定义,他们可以通过 transaction 处理函数来发出,来向外部系统指示账本已经发生了一个重要的事情。
应用可以通过 composer-client API 来描述发出的事件

Access Control

Business networks 可能包含一套 access control 规则
访问控制规则允许对参与者有权访问 business networks 中的资产以及在什么条件下进行细粒度的控制。
访问控制语言足够丰富,可以声明地捕获复杂的条件,例如“只有车辆的所有者可以转移车辆的所有权”。 从事务处理器功能逻辑外部化访问控制使得检查,调试,开发和维护更容易。

hyperledger-composer.png

Hyperledger Composer 被实现通过 high-level 部分:

  • Execution Runtimes (four are currently supported!)
  • JavaScript SDK
  • Command Line Interface
  • REST Server
  • LoopBack Connector
  • Playground Web User Interface
  • Yeoman code generator
  • VSCode and Atom editor plugins

Execution Runtimes

  • Hyperledger Fabric v0.6
  • Hyperledger Fabric v1.0
  • Web ,在一个 web 页面中执行,通过 Playground 来用。状态被存储在本地浏览器
  • Embeded, 通过 Node.js 进程执行,状态以 key-value 的形式被存储在内存中

Connection Profiles

Connection Profiles 被用来连接 Hyperledger Composer 以指定怎样连接执行 runtime.
每种类型的 execution runtime 都有一个不同的配置选项
举个例子:一个 Hyperledger Fabric v1.0 runtime 的 Connection Profile 将会包含 Fabric peers 的 TCP/IP 地址和端口号还有 cryptographic certificates 等

JavaScript SDK

Hyperledger Composer JavaScript SDK是一组Node.js API,使开发人员能够创建应用程序来管理和与部署的业务网络进行交互。

APIs 分两个模块

  • composer-client: 用于提交 transactions 到 business network 或
  • conposer-admin: 用于管理 business networks (deploy, undeploy)

所有 APIs 的详细信息可用作 JSDocs (请查阅参考)

composer-client

该模块通常将作为应用程序的本地依赖来安装。 它提供 business applications 的 APIs 用于连接到 business networks 以访问 assets,participants 和 提交 transactions。 在生产环境中,这只是需要作为应用程序的直接依赖关系添加的模块。

composer-admin

该模块通常将作为管理应用程序的本地依赖来安装。 该API允许创建和部署业务网络定义。

Command Line Interface

composer 命令行工具使开发人员和管理员能够部署和管理 business network 定义。

REST Server

Hyperledger Composer REST Server 自动为 business network 生成一个Open API(Swagger)REST API。 REST Server(基于LoopBack技术)将 business network 的Composer 模型转换为 Open API 定义,并在 runtime 实现对 assets 和 participants 的创建(create),读取(read),更新(update)和删除(delete)支持,并允许提交(submitted)交易(transactions)以进行处理(processing)或检索(retireved)。

LoopBack Connector

Composer REST Server使用Hyperledger Composer LoopBack连接器,但也可以通过本地支持LoopBack的集成工具独立使用。 或者,它可以与LoopBack工具一起使用来创建REST API的更复杂的自定义。

Playground Web User Interface

Hyperledger Composer Playground是一个用于界定和测试 business networks 的Web用户界面。 它允许 business 分析人员快速导入在 Web 或 Hyperledger Fabric runtime 执行的样本(sample)和原型业务逻辑(prototype business logic)。

Domain Model

Note: You can add as many model files as convenient under the models folder, however each model file must have a unique namespace and you can import types from one namespace into other namespaces.

Yeoman Code Generators

Hyperledger Composer 使用 Open Source Yeoman 代码生成器框架来创建框架(skeleton)项目:

  • Angular web application
  • Node.js application
  • Skeleton business network

VSCode and Atom Editor Extensions
Hyperledger Composer有VSCode和Atom的社区贡献编辑器扩展。 VSCode扩展非常强大,并验证了 Composer 模型和 ACL 文件,提供语法高亮显示,错误检测和片段支持。 Atom插件更简单,只有基本的语法高亮显示。

参考

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,519评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,842评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,544评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,742评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,646评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,027评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,513评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,169评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,324评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,268评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,299评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,996评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,591评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,667评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,911评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,288评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,871评论 2 341

推荐阅读更多精彩内容