Hyperledger fabric Hyperledger Composer与Hyperledger Nodejs Api

Hyperledger fabric Hyperledger Composer与Hyperledger Nodejs Api,hyperledger-fabric,hyperledger-composer,Hyperledger Fabric,Hyperledger Composer,我是hyperledger新手,对hyperledger composer和nodejs api有点困惑。 我看到使用composer我们可以创建资产、事务、参与者和链码,最后我们必须将其归档到.bna文件中,最后我们使用管理卡将链码部署到网络中 但在另一端,使用nodejsapi,我们也可以通过隐藏init和invoke方法来编写链码 我们如何将这些联系起来 考虑这一点的最佳方式如下: 1) Hyperledger Fabric v1.1支持用两种语言编写链码:Golang和通过Node.js

我是hyperledger新手,对hyperledger composer和nodejs api有点困惑。 我看到使用composer我们可以创建资产、事务、参与者和链码,最后我们必须将其归档到.bna文件中,最后我们使用管理卡将链码部署到网络中

但在另一端,使用nodejsapi,我们也可以通过隐藏init和invoke方法来编写链码


我们如何将这些联系起来

考虑这一点的最佳方式如下:

1) Hyperledger Fabric v1.1支持用两种语言编写链码:Golang和通过Node.js编写的JavaScript

如果您想自己完成所有的繁重工作,您可以编写直链代码

2) Hyperledger Composer为开发智能合约提供了更高级别的模型驱动语言。它目前只允许将这些工件部署到Hyperledger结构。它还支持用JavaScript编写函数

因此,如果您想从更高级别的模型驱动方法开始,Hyperledger Composer是一个不错的选择。如果您想自己编写所有管道,或者使用非常低级的链码功能,那么使用链码本身就是一种方法


向前看,我们正在寻找一种更好的方法,在两者之间移动,而不是在前面强行做出决定/方向。

还有另一种选择,我们开发了一个框架,位于Composer(高抽象,低控制)和原始代码(低抽象,高控制,因此高风险)的中间。几天前我们公开了它的来源。在WorldSibu,我们不喜欢像Composer那样失去对代码的控制,但正如Gari Singh所说,为每个项目做所有繁重的工作是疯狂的。它就像超级分类账结构的猫鼬。它可能有助于检查。

另外值得注意的是,根据IBM的说法,Composer不再被推荐作为生产解决方案,而只是用于原型设计。在HLF 1.3中,链码现在可以用Go、Javascript和Java编写。

Javascript和链码的GoLang实现之间有性能差异吗?答案是“这取决于你在做什么”,但一般来说,由于链码中有大量计算逻辑,所以Go会更快。如果逻辑相当简单,对等方和链码之间的通信将否定任何性能差异。嗯,很有趣,但是如果性能差异存在,那么为什么他们允许两种不同的语言实现链码?人们有不同的技能和偏好。如果考虑到整个处理流程,那么用一种语言编写的链码与另一种语言编写的链码之间的性能差异可以忽略不计