首页 文章

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

提问于
浏览
0

我使用Hyperledger Composer对基本网络进行了原型设计,现在正致力于将解决方案迁移到完全基于Fabric的网络 .

由于网络中有预先发布的测试数据,我只是在Golang中创建了一个新的CC,并将这些源复制到我的 Channels 的对等体中进行部署 . Peer连接到 composer_default 网络的通道,该通道由 composer-tools/fabric-dev-servers startFabric.sh 脚本创建 .

然后我通过Golang chaincode build从Fabric网络替换了我的bna chaincode,使用了相同的CC名称并增加了CC版本( peer chaincode upgrade ) .

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

marbleAsBytes, err := stub.GetState(marbleName)

或者可以使用Queries将数据拉到CouchDB(通道的当前存储)?不知道Composer用来存储其写集的真实密钥标识符 .

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

1 回答

  • 0

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

相关问题