【干货干货】configtxlator 工具介绍
这一章我们对configtxlator做一个解说。
1, configtxlator 他是什么,有什么用?
configtxlator 官方说明是用于生成Hyperledger结构通道配置的实用程序;
此工具提供:编码(proto_encode)、解码(proto_decode)、对比修改结构(compute_update)以及版本信息(version)
2, 如何使用configtxlator工具
从工具的源码定义上,我这里将它有分为了两种用法,:
(a), 工具非服务化
在cli中动态增加组织的时候,我们configtxlator proto_encode或 configtxlator proto_decode 这种方式。
proto_encode和proto_decode两个命令所拥有的参数是一样的,都需要以下几个参数设置:
type : 消息结构体类型
input : 输入参数,encode(值是json格式),decode(值是proto格式的字节数组)
output:输出结果;根据输入,输出的是json或者proto格式。
type包含以下几种:
common.Block |
区块结构 |
common.Envelope |
带有效载荷和数字签名的数字信封,区块的数据部分就是序列化后的数字信封 |
common.ConfigEnvelope |
包含链配置的数字信封,内容包含ConfigUpdateEnvelope |
common.ConfigUpdateEnvelope |
提交给排序节点的配置数字信封 |
common.Config |
ConfigEnvelope的配置部分 |
common.ConfigUpdate |
ConfigUpdateEnvelope的一部分 |
compute_update计算修改量,命令拥有以下几个参数
original :原始的proto
updated:修改后的proto
channel_id:通道id
output:对比计算后的目标修改配置proto
举例:将当前channel的块消息中的配置decode为json文件
configtxlator proto_decode --input mychannel.pb --type common.Block | jq .data.data[0].payload.data.config > mychannel.json
Json内容:
(b), 工具服务化
可以执行一下命令,启动此工具的rest服务:
./configtxlator start --hostname="0.0.0.0" --port=7059
Hostname : 主机ip,默认当前机器ip
Port:服务端口,默认7059
服务启动,通过路由提供一下几种服务:
MsgName对应的就是非服务化中的type。
举例:java中的使用样例
如果想查看计算后获取目标修改配置的信息,可以使用common.Envelope,进行解码查看json数据。
具体给个方法是如何实现的,逻辑不复杂,就不做详细描述了。
【干货干货】configtxlator 工具介绍的更多相关文章
- 【干货干货】hyperledger fabric 之动态添加组织/修改配置 (Fabric-java-sdk) 下
我们接着上一节来讲: 在熟悉动态增加组织或修改配置的步骤后,我们就可以使用java的api来完成动态增加组织或修改配置了: 废话不多说,直接上干货: 1,预制条件 org3的证书以及组织3的MSP详情 ...
- 《连载 | 物联网框架ServerSuperIO教程》- 14.配制工具介绍,以及设备驱动、视图驱动、服务实例的挂载
注:ServerSuperIO二次开发套件授权码申请---截止到:2016-12-09 1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架Server ...
- json、javaBean、xml互转的几种工具介绍
json.javaBean.xml互转的几种工具介绍 转载至:http://blog.csdn.net/sdyy321/article/details/7024236 工作中经常要用到Json.Jav ...
- Linux性能工具介绍
l Linux性能工具介绍 p CPU高 p 磁盘I/O p 网络 p 内存 p 应用程序跟踪 l 操作系统与应用程序的关系比喻为“唇亡齿寒”一点不为过 l 应用程序的性能问题/功能问 ...
- Android APP压力测试(一)之Monkey工具介绍
Android APP压力测试(一) 之Monkey工具介绍 前言 本文主要介绍Monkey工具.Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕.滑动. ...
- Android系统性能调优工具介绍
http://blog.csdn.net/innost/article/details/9008691 经作者授权,发表Tieto某青年牛的一篇<程序员>大作. Android系统性能调优 ...
- 简要介绍Apache、php、mysql安装和工具介绍
1 安装Apache 网站:www.Apache.org下载相应的Apache,目前下载了近期的:httpd-2.2.15-win32-x86-openssl-0.9.8msi 安装简要步骤如下图: ...
- [原创]Java静态代码检查工具介绍
[原创]Java静态代码检查工具介绍 一 什么是静态代码检查? 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数 ...
- RUF MVC5 Repositories Framework Generator代码生成工具介绍和使用
RUF MVC5 Repositories Framework Generator代码生成工具介绍和使用 功能介绍 这个项目经过了大半年的持续更新到目前的阶段基本稳定 所有源代码都是开源的,在gith ...
随机推荐
- Qt使用第三方库3rdparty
简述 在 Qt 中经常会用到第三方库,例如:FFmpeg.OpenCV 等.第三方库的使用比较简单,只需要一些基本的配置就可以搞定,一起来看看吧! 简述 第三方库 源代码 库文件 目标目录 第三方库 ...
- 一个拼图工具TImageBox的制作思路
http://www.cnblogs.com/del/archive/2010/04/24/1719631.html
- js一道面试题
题目是这样的,按照以下函数的结果写一个sub()方法: sub(1)(2)(3);/*return 6*/ sub(4)(3)(3);/*return 10*/ 我的山寨做法: function su ...
- Silverlight Virtualization Overview
当ListBox使用StackPanel作为容器时,如果数据源包含大量数据时,每一条数据都要创建可视化的Item来承载数据,创建这些容器就需要消耗很多时间和内存,另外滚动也非常慢,因为需要计算所有这些 ...
- 使用spring容器干掉if-else
spring容器干掉if-else 场景说明 最近新做一个项目,需要对不同店铺的商品做不同处理.例如storeA需要进行handleA操作,storeB需要进行handleB操作,如此类推 大家很容易 ...
- Centos 7 防火墙 firewalld 简单使用说明
1.firewalld简介 firewalld是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务:第二个就是加入了防火墙的“zone”概念 2.firewalld命令行界面管 ...
- Jenkins持续部署-自动生成版本号
目录 Jenkins持续部署-自动生成版本号 目录 前言 目的 详细流程 获取SVN Reversion 获取需求号 设置编译前读取版本号 总结 参考文献 Jenkins持续部署-自动生成版本号 目录 ...
- U盘刻录kali linux启动盘提示找不到镜像解决方案
选择“继续”后会来到步骤菜单,选择从shell启动,命令 df -m 查看当前磁盘挂载情况,看到 /media 目录 输入命令 umount /media 进行挂载然后输入 exit 退出
- java模拟键鼠操作
很久之前百度的,所以忘记了作者,所以仅作为自己的日记纪录在此: package com.robot.test;import java.awt.AWTException;import java.awt. ...
- MyBatis从入门到精通(四):MyBatis XML方式的基本用法之增删改
最近在读刘增辉老师所著的<MyBatis从入门到精通>一书,很有收获,于是将自己学习的过程以博客形式输出,如有错误,欢迎指正,如帮助到你,不胜荣幸! 1. insert用法 1.1 简单的 ...