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

What is the difference between fabric-chaincode-go and fabric-contract-api-go?

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

但是,我发现两个不同的 git 回购协议(据我所知)可用于创建链代码。

第一个是fabric-contract-api-go, I followed their tutorials前一段时间。

第二个是 fabric-chaincode-go

所以我的问题是,这两个包有什么区别,我应该使用哪个来编写链代码?你有资源或好的例子吗? (布料样本中的除外 git)

前阵子跟着fabric-contract-api教程写了一个chaincode,现在看到有人用fabric-chaincode-go包,有点迷茫

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

你可以想到fabric-contract-api-go as a high-level api that builds on/requires the low-level api fabric-chaincode-go。 可以仅使用低级 api 编写 golang 链代码——事实上,这是 Fabric 2.0 之前的唯一选择,当时还为 golang 添加了合约 api。以前,它只存在于节点和 java 链码。 如果您可以选择使用合同 api,那么这样做将例如为您节省一些样板代码。

要查看差异,您可以例如比较 fabcar 示例:在 1.4 branch, it used the low-level api (shim). In the master branch however it uses the new contract-api.