Hyperledger fabric 如何将Hyperledgre farbic 2.0链码从shim升级到contract api

Hyperledger fabric 如何将Hyperledgre farbic 2.0链码从shim升级到contract api,hyperledger-fabric,hyperledger,Hyperledger Fabric,Hyperledger,我正在将hyperledger升级到新版本v2.0.1,我的查询是我以前版本v1.4.3的链码包含垫片接口的实现。如何将现有链更新为链代码的新版本。旧的shim接口能否与新版本的chain code一起工作?contract Api和shim接口之间的区别是什么?任何建议都会很有帮助。Fabric v2继续支持合同api和链码(shim)api,因此链码实现应该在Fabric v2中没有更改的情况下工作。合同api在fabric 1.4中引入。契约接口提供了一些额外的功能和更封装的编程模型。 我

我正在将hyperledger升级到新版本
v2.0.1
,我的查询是我以前版本
v1.4.3
的链码包含垫片接口的实现。如何将现有链更新为链代码的新版本。旧的shim接口能否与新版本的chain code一起工作?contract Api和shim接口之间的区别是什么?任何建议都会很有帮助。

Fabric v2继续支持合同api和链码(shim)api,因此链码实现应该在Fabric v2中没有更改的情况下工作。合同api在fabric 1.4中引入。契约接口提供了一些额外的功能和更封装的编程模型。 我所能找到的最好的证明就是这里 这显示了每个编程模型的一个示例,但它们并不特别擅长显示契约api相对于原始shim api的优势。此外,我似乎找不到与contract api提供的功能的2或定义之间的任何比较。一言以蔽之

  • 删除所有链码通常必须编写的一些样板代码(如函数分派器和序列化程序)
  • 提供将多个合同捆绑到单个链码包中的功能
  • 如果需要,向客户提供自省信息
  • 可以通过定义的元数据定义进行输入和输出类型检查(如果使用typescript,则可以从源代码生成)