跟着文档学Fabric:获取通道配置
1.Gossip in Hyperledger Fabric2.Ubuntu18.04安装Fabric3.Fabric-sdk-go操作Chaincode4.[比特币]比特币中的密码学原理5.一文读懂区块链(二)6.一文读懂区块链(一)7.chaincode中使用第三方库8.[比特币]比特币中的匿名性9.[比特币]比特币引发的思考10.[比特币]比特币中的分叉11.[比特币]比特币中的挖矿难度12.[比特币]比特币中的网络13.[比特币]比特币的实现14.[比特币]比特币中的共识协议15.[比特币]比特币中的数据结构16.Merkle Tree 简介17.Fabric 2.x 智能合约开发记录18.Fabric区块链浏览器(3)19.基于密码学的身份混淆系统 -- idmix20.Fabric区块链浏览器(2)21.Fabric区块链浏览器(1)22.Hyperledger Fabric系统链码介绍
23.跟着文档学Fabric:获取通道配置
24.从源码中解析fabric区块数据结构(一)25.Fabric升级示例26.Fabric网络升级(四)27.Fabric网络升级(三)28.Fabric网络升级(二)29.Fabric网络升级(一)30.Fabric网络升级(总)31.根据TxID获取上链数据32.PoW、PoS、DPoS和PBFT简介33.RPC连接btcd网络34.BTC交易流程35.MerkleTree in BTC36.BTC 地址原文在这里。
1. 获取通道配置
peer channel fetch config config_block.pb -o $ORDERER_CONTAINER -c $CH_NAME --tls --cafile $TLS_ROOT_CA
上述命令需要在peer容器中执行
这一步得到对应通道的protobuf格式的通道配置。protobuf格式的配置文件并不适合阅读,可以使用官方提供的configtxlator来转换成JSON格式的:
configtxlator proto_decode --input config_block.pb --type common.Block --output config_block.json
排除不必要的元数据:
jq .data.data[0].payload.data.config config_block.json > config.json
config.json
中就是我们所需要的通道配置。
2. 通过sdk来获取通道配置
除了上面提到的方式,还可以通过官方提供的sdk来获取通道配置。这里以fabric-sdk-go为例来介绍如何通过sdk来获取通道配置。
主要用到的是下面两个包:
- github.com/hyperledger/fabric-sdk-go/pkg/client/ledger 提供账本相关操作接口
- QueryConfigBlock: 获取当前通道使用的配置块
- github.com/hyperledger/fabric/common/tools/protolator 提供protobuf格式转换服务
- DeepMarshalJSON: 将protobuf格式的信息转换为JSON格式
代码示例如下:
blk, err := ledgerClient.QueryConfigBlock(ledger.WithTargetEndpoints(targetPeers...)) if err != nil { panic(err.Error()) } buffer := &bytes.Buffer{} err = protolator.DeepMarshalJSON(buffer, blk) if err != nil { panic(err) } blockJson := make(map[string]interface{}) err = sonic.Unmarshal(buffer.Bytes(), &blockJson) config := blockJson["data"].(map[string]interface{})["data"].([]interface{})[0].(map[string]interface{})["payload"].(map[string]interface{})["data"].(map[string]interface{})["config"]
声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)进行许可,使用时请注明出处。
Author: mengbin92
Github: mengbin92
cnblogs: 恋水无意
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具