如何在Hyperledger Fabric中将Peer节点设置为只读(仅提交)节点
Hyperledger Fabric Peer节点设置为仅提交只读节点操作步骤
1. 调整Peer节点本地核心配置
适用于Fabric 2.2及以上版本,操作如下:
- 定位到Peer节点的
core.yaml配置文件,修改peer.endorsement.enabled参数值为false,关闭节点的背书能力,直接拒绝所有收到的背书请求 - 修改
chaincode.installEnabled参数值为false,禁止该节点安装任何用户链码,避免被误操作赋予背书权限 - 若需要完全关闭链码调用能力,仅保留账本同步和区块提交功能,可额外修改
peer.chaincode.executeEnabled参数值为false - 所有配置修改完成后,重启Peer节点使配置生效
如果使用的是1.4.x等旧版本Fabric,无peer.endorsement.enabled配置项,直接完成后续通道层面的配置即可。
2. 调整对应通道的策略配置
- 使用
configtxlator工具拉取目标通道的最新配置区块,解码为可编辑的JSON格式 - 修改通道内所有已部署链码的背书策略,移除该Peer节点所属MSP在背书策略中的权限,确保背书节点列表不包含该节点
- 如果该节点所属组织此前被定义为通道的背书组织,同步修改通道配置中组织组的角色配置,移除其背书相关的角色权限
- 将修改后的配置重新编码为配置更新交易,签名后提交给排序节点生成新的配置区块,待全网节点同步完成后通道配置生效
3. 功能有效性验证
- 主动向该节点发送链码背书请求,确认节点返回无背书权限的错误响应
- 尝试向该节点发送链码安装请求,确认返回安装权限已关闭的错误响应
- 查看节点运行日志,确认节点可正常同步区块数据、将合法交易提交到本地账本,无运行异常
注意:如果该节点同时属于系统通道管理组织,需要先同步调整系统通道的相关配置,避免配置冲突导致节点无法正常参与通道共识同步。
内容的提问来源于stack exchange,提问作者rahul_eth
相关产品推荐
相关产品推荐

