Hyperledger fabric 如何从Fabric chaincode Invoke函数获取Hyperledger Composer bna以前编写的数据

Hyperledger fabric 如何从Fabric chaincode Invoke函数获取Hyperledger Composer bna以前编写的数据,hyperledger-fabric,hyperledger,hyperledger-composer,Hyperledger Fabric,Hyperledger,Hyperledger Composer,我已经使用Hyperledger Composer原型化了一个基本网络,现在正在将解决方案迁移到完全基于结构的网络 由于有一个带有预先发布的测试数据的网络,我刚刚在Golang编写了一个新的CC,并将源代码复制到我的通道的对等节点中进行部署。 对等方连接到composer\u default网络通道,该通道由composer工具/fabric dev服务器创建 然后,我将Fabric network中的bna链码替换为Golang链码构建,使用相同的CC名称和递增的CC版本(对等链码升级) 所以

我已经使用Hyperledger Composer原型化了一个基本网络,现在正在将解决方案迁移到完全基于结构的网络

由于有一个带有预先发布的测试数据的网络,我刚刚在Golang编写了一个新的CC,并将源代码复制到我的通道的对等节点中进行部署。 对等方连接到
composer\u default
网络通道,该通道由composer工具/fabric dev服务器创建

然后,我将Fabric network中的bna链码替换为Golang链码构建,使用相同的CC名称和递增的CC版本(
对等链码升级

所以问题是:新的结构CC是否可能通过作曲家bna先前提交的现有状态?就像我们使用ChaincodeStubInterface的GetState方法访问它一样:

marbleAsBytes, err := stub.GetState(marbleName)
或者可以通过查询将数据拉入CouchDB(频道的当前存储)?不知道Composer用于存储写入集的真正密钥标识符


另外,实际上我不想从Fabric CC调用Composer bna事务/查询,反之亦然。这只是对现有网络环境业务逻辑的一种升级。

我认为这应该是可能的,因为资产存储为键值对,您可以首先尝试通过本机golang chaincode查询任何键。正如以前一样,我尝试用完全不同的链码升级一个composer链码,如果我尝试在旧composer链码中输入以前使用的键的数据,则会抛出错误。因此,即使链码不同,您也应该能够通过其键访问已创建的资产