2017-09-15 185 views

回答

0

实现blockchain technology的Hyperledger Fabric为不同的编程语言提供了许多SDK,可用的代码是Node.js和Java SDK。 由golang编写的结构在java中,因为Fabric可用于Java和NodeJ,而Java被更多的开发人员所接受,但无关紧要,只是其中的任何东西。 是的,他们使用gRPC与区块链进行通信。此前它支持REST API,但似乎他们在新发布的V1.0版本中停止了对它的支持。

如果我们扭曲了一些东西,并且为每种语言的垫片都有独立的存储库,它会使事情变得更清洁,并且它会显着减少链码部署的规模。

我们遇到的一个问题是如何使它们保持一致。我们可以简单地复制。织物上的.proto并将其检入垫片仓库。尴尬但 有效。

那么,我们所拥有的是:

织物面料 -GO-垫片 织物Java的垫片 ...

,我们将保持织物的.proto并复制到织物 - -shim 根据需要进行回购,但不会被编辑。我们需要仔细记录这个 。
每个回购可以管理自己的依赖管理发布(例如 javascript到npm,java到maven等)。

1

SDK独立于chaincode。您可以使用Node.js SDK和golang chaincode,以及chaincode或Node.js chaincode。不需要一致。

(java)shim在golang代码库中的原因就是有一个地方可以放在哪里,如前所述,我们可以共享定义gRPC接口的.proto文件。随着JavaNode.js链码垫片的独立回购的出现,重构将很快实施。