我已经使用Hyperledger Composer对一个基本网络进行了原型设计,现在正在努力将解决方案迁移到完全基于Fabric。
由于有一个带有预先发布的测试数据的网络,我只是在 Golang 中编写了一个新的 CC,并将源代码复制到我的频道的对等方进行部署。 Peer 连接到composer_default
网络的通道,该通道由 composer-tools/fabric-dev-serversstartFabric.sh
脚本创建。
然后我用 Golang 链码构建替换了 Fabric 网络中的 bna 链码,使用相同的 CC 名称和递增的 CC 版本 (peer chaincode upgrade
(。
所以问题是:新的结构CC是否有可能通过Composer bna之前提交的现有状态?就像我们使用ChaincodeStubInterface的GetState方法访问它一样:
marbleAsBytes, err := stub.GetState(marbleName)
或者,也许可以通过查询将数据提取到 CouchDB(通道的当前存储(?不知道 Composer 用于存储其写入集的真正密钥标识符。
附言:实际上我不想从Fabric CC调用作曲家bna事务/查询,反之亦然。它只是现有网络环境的业务逻辑升级。