Hyperledger Fabric中ORG1MSPanchors.tx经configtxlator操作后修改不生效
Hyperledger Fabric修改ORG1MSPanchors.tx未生效的常见原因
- 未提交配置更新交易到通道:你修改的只是本地的ORG1MSPanchors.tx文件,锚节点配置属于通道配置的一部分,本地文件修改不会自动同步到链上。你需要执行提交命令才能让修改生效,提交命令参考:
peer channel update -f ./channel-artifacts/ORG1MSPanchors.tx -c <你的通道名称> -o <orderer节点地址:端口> --tls --cafile <orderer节点TLS根证书路径> - JSON修改路径错误:锚节点的正确配置路径为
channel_group.groups.Application.groups.Org1MSP.values.AnchorPeers.value.peers,如果修改了其他路径下的字段,编码后有效配置不会发生变化。 - configtxlator版本不匹配:你使用的configtxlator工具版本需要和当前Fabric网络的版本严格一致,版本不兼容会导致编码后的交易结构不符合网络要求,提交后会被直接拒绝。
- 提交身份权限不足:锚节点更新交易需要对应组织(ORG1)的管理员身份签名才能通过通道的配置更新策略校验,如果你使用普通节点身份或者其他组织的身份提交,交易不会生效。
- 验证方式错误:如果提交后你直接查看本地旧文件或者节点的缓存配置,会误以为修改未生效。可以拉取链上最新的通道配置解码验证:
# 拉取最新配置块 peer channel fetch config config_block.pb -o <orderer地址> -c <通道名> --tls --cafile <orderer证书路径> # 解码为JSON查看AnchorPeers字段 configtxlator proto_decode --input config_block.pb --type common.Block --output config_block.json
内容的提问来源于stack exchange,提问作者Luis Manuel Cortés Tirado
相关产品推荐
相关产品推荐

