能否在docker-compose.yaml中设置enableHistoryDatabase支持GetHistoryForKey()
Hyperledger Fabric enableHistoryDatabase 配置方案
配置实现方式
可以直接在docker-compose.yaml中完成该配置,无需单独修改peer节点的core.yaml配置文件,配置生效后GetHistoryForKey()接口就能正常返回对应键的所有历史版本值,而不仅仅是当前值。
该配置对应的参数为core.ledger.history.enableHistoryDatabase,你只需要在对应peer节点服务的environment配置段中添加该环境变量即可,示例配置如下:
services: peer0.org1.example.com: image: hyperledger/fabric-peer:2.5.5 # 替换为你实际使用的Fabric版本 environment: # 其他原有peer环境变量保持不变 - CORE_LEDGER_HISTORY_ENABLEHISTORYDATABASE=true
注意事项
- 配置修改完成后需要重启对应peer节点生效
- 该配置仅对配置生效后新写入的键值变更生效,开启配置之前已经写入账本的历史变更不会回溯生成记录,这部分数据无法通过
GetHistoryForKey()接口查询到 - 若你需要查询已有数据的历史,需要在通道创建前就开启该配置,之后重新部署网络、创建通道并写入数据
内容的提问来源于stack exchange,提问作者chikai
相关产品推荐
相关产品推荐

