区块链100讲:Hyperledger的Composer和Fabric到底是什么关系?

昨天HiBlock区块链社区“超级账本讨论群”的小伙伴们在讨论是用Hyperledger的Fabric更好,还是Composer更方便。有小伙伴提出,在讨论这个之前还是得先了解这两者到底有什么关系。正好社区“技术布道小组”有成员产出了一篇文章,本期《区块链100讲》就借这篇文章来看看Hyperledger的Composer和Fabric到底是什么关系。

总之

Hyperledger Composer是属于Hyperledger下的,包含了开发构架,和工具的开源项目。

团队的目的是为了简化blockchain applications开发过程中,一部分开发过程。

Hyperledger Composer原本是为了抽象出接口,可以和任何区块链网络对联,但目前的开发状况基本上是基于Hyperledger Fabric来实现的。

Hyperledger Composer is an extensive, open development toolset and framework to make developing blockchain applications easier. Our primary goal is to accelerate time to value, and make it easier to integrate your blockchain applications with the existing business systems. You can use Composer to rapidly develop use cases and deploy a blockchain solution in weeks rather than months. Composer allows you to model your business network and integrate existing systems and data with your blockchain applications.

关系

关系图

Composer Diagram 图片来自官方网

上面的部分,就是Composer,通过一些脚本(JS的童鞋开心了吧  )语言,来定义需要的内容(参与方,CA,资产,交易等),然后打包成.bna文件,就可以直接部署(到Fabric私有链网络上)了。

至于原本Fabric实现的时候,需要自己实现的区块链读写操作等,Composer都为你实现好了。

栗子

一家房地产商可以这样子模块化(定义)他们的业务:

  • Assets: 房屋,土地等

  • Participants: 买房者,卖房者,中介

  • Transactions: 买,卖等

参与方都根据在交易里的角色,才可以查询和查询相关的交易。 房地产商可以提供一些接口,比如给卖方:公开房源,关闭房源等。

比较

Innovation That Matters(https://blog.selman.org/2017/07/08/getting-started-with-blockchain-development/)

It isn’t possible to make a complete apples-to-apples comparison, because the Go version of Marbles includes queries, whereas the Composer version does not, however it is clear that the Composer version is far shorter and includes much less boilerplate code:

  • marbles_chaincode.go : 627 lines

  • Composer marbles-network : 63 lines total, 26 lines (logic), 37 lines (model)

This ±10x reduction in the number of lines of code when Go and Composer solutions are compared is fairly consistent across several samples.

Composer includes several other major features and productivity enhancements:

  • business networks are automatically exposed as OpenAPI (Swagger) REST APIs via the composer-rest-server. The composer-rest-server uses passport.js to support pluggable end-user authentication schemes.

  • Composer includes a declarative Access Control Language, allowing developers to define which participants have access to which assets and under which circumstances. Composer ACLs drastically reduce the amount of procedural access control checks required in business logic.

  • Use the Composer Node-RED nodes to integrate Composer with IoT, analytics, dashboards etc.

  • VSCode extension to validate Composer model, ACL and query files

  • Integrate Composer with industry leading BPM and Integration tools, via OpenAPI and the LoopBack connector

  • Unit test using the Node.js embedded Composer runtime using standard JS tools like Mocha, Chai, Sinon, Istambul etc

  • Develop and test on the web interactively using the Composer Playground, simulating the blockchain in the browser, or connected to a Fabric.

  • Generate skeleton Angular web application from a business network definition

  • Publish and reuse models across business networks

There are of course some advantages to coding in Go to the Fabric APIs directly:

  • follow the absolute latest evolutions in the Fabric APIs and capabilities

  • possibly better raw performance, although for most application chaincode performance is unlikely to be the determining factor

  • type-safety

  • single language for both business logic and model

  • can incorporate third-party C and Go libraries easily

In summary I believe that for 90% of business developers Hyperledger Composer is the right choice to get started with blockchain development. It allows them to focus on the business logic, and avoids a lot of error-prone boilerplate code. They will also benefit from many of the higher-level tools and abstractions that Composer has to offer.

本文作者:HiBlock区块链技术布道群-AmyWu

原文发布于简书

加微信baobaotalk_com,加入技术布道群

活动推荐

扫描下图中二维码或点击“阅读原文”即可报名参加

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值