区块链专列之一:Fabric配置文件

网友投稿 817 2022-05-30

1. 共享配置是存储在每一个通道的配置交易集合中,这个集合通常以configtx为前缀。

2. 区块的类型是HeaderType_CONFIG,区块中没有其他交易,我们称这种区块为Configuration Blocks,第一个区块也就是创世区块就是配置区块。

3. 配置的原型结构存储在fabric/protos/common/configtx.proto,类型为HeaderType_CONFIG的Envelope将ConfigEnvelope消息编码为 Payload data 字段。ConfigEnvelope原型定义如下:

message ConfigEnvelope {     Config config = 1;     Envelope last_update = 2; }

message Config {     uint64 sequence = 1;     ConfigGroup channel_group = 2; }

message ConfigGroup {     uint64 version = 1;     map groups = 2;     map values = 3;     map policies = 4;     string mod_policy = 5; }

4. 配置更新

类型为HeaderType_CONFIG_UPDATE的Envelope将ConfigUpdateEnvelope消息编码为 Payload data 字段,ConfigUpdateEnvelope定义如下:

区块链专列之一:Fabric配置文件

message ConfigUpdateEnvelope {     bytes config_update = 1;     repeated ConfigSignature signatures = 2; }

签名字段包含了一系列获得授权者的签名信息,签名消息是如下定义的:

message ConfigSignature {     bytes signature_header = 1;     bytes signature = 2; }

signature_header定义为标准的交易,签名信息是在signature_header字节和config_update字节组合起来的ConfigUpdateEnvelope消息上面。

ConfigUpdateEnvelope的config_update字节是一个封装好的ConfigUpdate消息,定义如下:

message ConfigUpdate {     string channel_id = 1;     ConfigGroup read_set = 2;     ConfigGroup write_set = 3; }

channel_id是要更新的通道ID编号,是用来验证这个签名是不是有权限来重新配置这个通道。

5. Orderer系统通道配置

排序系统通道需要定义排序参数和创建通道的组织。注意所有有读去排序系统通道权限的组织成员可以看到所有通道的创建,所以通道的访问权限要严格限制。

Orderer启动的时候,Orderer面对的是一个包含所有通道信息的文件系统。

6. 应用通道配置

应用通道配置设计为应用类型的交易。

区块链

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MySql简单介绍和安装
下一篇:学习Python的最好时间是10年前,其次是现在!- 史上最全的Python编程入门笔记(完整版)
相关文章