Hyperledger fabric 将结构节点SDK 1.4.x与结构2.0一起使用

Hyperledger fabric 将结构节点SDK 1.4.x与结构2.0一起使用,hyperledger-fabric,hyperledger-chaincode,Hyperledger Fabric,Hyperledger Chaincode,我们刚刚迁移到Fabric 2.0,我们的所有组件(对等、订购、二进制)都是v2.0.0版本 我们的Fabric Node SDK仍处于v1.4.8版本,其大部分功能正在运行,如 createChannel、updateChannel、installChaincode等 但是,当我尝试使用Channel.sendInstanceProposal时,我得到了一个错误 “频道已迁移到新的生命周期。LSCC现在是只读的。” 我了解到,这可能是SDK和结构组件之间的不匹配,但是,除了升级到结构节点SDK

我们刚刚迁移到Fabric 2.0,我们的所有组件(对等、订购、二进制)都是v2.0.0版本

我们的Fabric Node SDK仍处于v1.4.8版本,其大部分功能正在运行,如

createChannel、updateChannel、installChaincode等

但是,当我尝试使用
Channel.sendInstanceProposal
时,我得到了一个错误

“频道已迁移到新的生命周期。LSCC现在是只读的。”

我了解到,这可能是SDK和结构组件之间的不匹配,但是,除了升级到结构节点SDK 2.0之外,还有什么方法可以让它正常工作吗

用于启动网络的configtx.yaml文件的
功能均设置为V2.0:true
。注意事项表明V2.0功能是不向后兼容的,因此我假设我不能将它们设置为V1.4,并且仍然使用Fabric 2.0组件


感谢

这似乎证实了您的假设,即当涉及到新功能时,SDK不一定是向前兼容的,例如新的链码生命周期(请参见蓝色的“注意”框)。

在这种情况下,v1.4 SDK与v2兼容,但是v2中的新链码体系结构没有将链码实例化作为其生命周期的一部分。相反,它使用了新的四步流程,如中所定义。这就是为什么v1.4 SDK在这一行失败的原因,特别是在调用Channel.sendInstanceProposal()时。SDK工作正常,但新链码生命周期不支持该操作


至于解决方案,不幸的是,在v2 SDK中无法执行管理任务,您必须使用对等CLI进行此类操作。

谢谢。我从文档中以及与Dadid Kelly在Hyperledger聊天中了解到了这一点。