fabric-chaincode-go 和 fabric-contract-api-go 有什么区别?

Pop*_*ame 0 hyperledger hyperledger-fabric hyperledger-chaincode chaincode

我目前正在尝试学习 Hyperledger Fabric ,我设法了解如何设置网络(Orderers、Peers 等),但现在是链码的一部分。

但是,我发现两个不同的 git 存储库(据我所知)可用于创建链码。

第一个是fabric-contract-api-go,我不久前跟着他们的教程。

第二个是fabric-chaincode-go。

所以我的问题是,这两个包有什么区别,我应该使用哪一个来编写链码?你有资源或好的例子吗?(除了fabric-samples git中的那些)

前段时间跟着fabric-contract-api教程写了一个chaincode,现在看到有人用fabric-chaincode-go这个包,有点迷茫。

对不起,这个问题可能听起来很愚蠢,但我没有开发人员背景。我有 SysAdmin 背景,不习惯 GOLANG(但我是一个快速学习者,有很好的资源)。

小智 6

您可以将fabric-contract-api-go视为构建于/需要低级 api fabric-chaincode-go的高级 API 。可以仅使用低级 api 编写 golang 链码——事实上,这是 Fabric 2.0 之前的唯一选择,当时还为 golang 添加了合约 api。以前,它只存在于 node 和 java 链码中。如果您可以选择使用合同 api,那么这样做将例如为您节省一些样板代码。

要查看差异,您可以比较 fabcar 示例:在1.4 分支中,它使用低级 api (shim)。然而,在master 分支中,它使用新的 contract-api。