Hyperledger Fabric 应用实战(2)--网络节点设置

2023-11-16

1. 网络节点设置

网络名称:rentnet

联盟组织:orderer排序组织+三个成员组织supervisor、rentalcrop、 agency

通道:rentsign

账本数据库: couchdb

物理节点 组织 容器节点
supervisor supervisor.freerent.cn peer0.supervisor.freerent.cn
peer1.supervisor.freerent.cn
peer2.supervisor.freerent.cn
couchdb0.supervisor.freerent.cn
couchdb1.supervisor.freerent.cn
couchdb2.supervisor.freerent.cn
orderer0.orderer.freerent.cn
rentalcrop rentalcrop.freerent.cn peer0.rentalcrop.freerent.cn
peer1.rentalcrop.freerent.cn
couchdb0.rentalcrop.freerent.cn
couchdb1.rentalcrop.freerent.cn
orderer1.orderer.freerent.cn
agency agency.freerent.cn peer0.customer.freerent.cn
peer1.customer.freerent.cn
couchdb0.agency.freerent.cn
couchdb1.agency.freerent.cn
orderer2.orderer.freerent.cn

2. 节点身份生成

Fabric网络通过证书和密钥来管理和认证成员身份,Fabric通过Fabric-CA提供了PKI服务。为了方便批量管理组织证书,fabric基于Go语言的标准crypto库提供了cryptogen工具。用了cryprtogen工具生成加密材料,就无需CA来到动态生成加密材料。

cryptogen支持的命令包括:

  • generate[flages] 生成密钥和证书文件
  • showtemplate,查看配置模板信息
  • extend[flages],扩展当前密钥和证书文件
  • version,版本信息

flag :

  • –config :yaml配置模板文件
  • – output:指定材料生成路径,默认为当前目录下的crypto-config目录

2.1 crypto-config.yaml

crypto-config.yaml为节点生成加密材料的配置文件。
存放目录: /home/freerent/network/channel


# ---------------------------------------------------------------------------
# "OrdererOrgs" - 管理排序节点的组织的定义
# ---------------------------------------------------------------------------
OrdererOrgs:
  - Name: Orderer          # 组织名称
    Domain: freerent.cn    # 组织命名域
    Specs:                  # 每个主机配置,通用名
      - Hostname: orderer0
      - Hostname: orderer1
      - Hostname: orderer2

# ---------------------------------------------------------------------------
# "PeerOrgs" - 管理对等节点的组织的定义
# ---------------------------------------------------------------------------
PeerOrgs:

  - Name: Supervisor
    Domain: supervisor.freerent.cn
    
    # 如果设置了 EnableNodeOUs ,就在msp下生成config.yaml文件
    EnableNodeOUs: true
    Template:
      Count: 3 #生成证书的数量  => 组织中peer节点的数目
    Users:
      Count: 2 #生成用户证书个数

  - Name: Rentalcrop
    Domain: rentalcrop.freerent.cn
    EnableNodeOUs: true
    Template:
      Count: 2 #生成证书的数量
    Users:
      Count: 1 #生成用户证书个数

  - Name: Agency
    Domain: agency.freerent.cn
    EnableNodeOUs: true
    Template:
      Count: 2 
    Users:
      Count: 1 

2.2 加密材料生成脚本

将fabric提供三个工具拷贝至bin目录下,并赋777权限。这三个脚本可以到fabric-samples里面去下载,放到bin目录下。
在这里插入图片描述

3. 加密材料分析

目录 : /home/freerent/network/channel

默认情况下,generate生成的加密材料在当前目录下的crypto-config目录下,目录结构如下所示。生成了ordererOrganizations和peerOrganizations两个组织树。每棵组织树下面都有ca、tlsca、msp、orderers(或者peers),users等子目录。
以supervisor组织为例,

peerOrganizations/  #peer组织
├── supervisor.freerent.cn  #组织的所有身份证书
│   ├── ca  #存放私钥与组织根证书
│   │   ├── ca.supervisor.freerent.cn-cert.pem
│   │   └── priv_sk
│   ├── msp  #存放代表组织根证书的身份信息
│   │   ├── admincerts  # 组织管理员的身份验证证书,被根证书签名
│   │   ├── cacerts  # 组织信任的CA根证书,同ca目录下文件
│   │   │   └── ca.supervisor.freerent.cn-cert.pem
│   │   ├── config.yaml  # 指定是否开启OU,存放组织根证书路径和OU识别关键字
│   │   └── tlscacerts # 用于TLS验证的信任的CA证书,自签名
│   │       └── tlsca.supervisor.freerent.cn-cert.pem
│   │  
│   ├── peers  #peers目录与order组织的orderers目录类似
│   │   ├── peer0.supervisor.freerent.cn
│   │   │   ├── msp  # 存放代表身份的相关证书和私钥文件
│   │   │   │   ├── admincerts # 该Peer认可的管理员身份证书。可以确认交易是否被管理员签署,默认是Admin用户的身份证书
│   │   │   │   ├── cacerts  # 存放组织的CA根证书
│   │   │   │   │   └── ca.supervisor.freerent.cn.pem
│   │   │   │   ├── config.yaml
│   │   │   │   ├── keystore   # 节点的身份私钥,用来签名
│   │   │   │   │   └── priv_sk
│   │   │   │   ├── signcerts # 验证本节点签名的证书,被组织根证书签名,
│   │   │   │   │   └── peer0.supervisor.freerent.cn.pem
│   │   │   │   └── tlscacerts # TLS连接用的CA证书
│   │   │   │       └── tlsca.supervisor.freerent.cn.pem
│   │   │   └── tls  
│   │   │       ├── ca.crt  # 组织的TLS CA证书
│   │   │       ├── server.crt # 验证本钱点签名的证书,被组织根证书签名
│   │   │       └── server.key # 本节点TLS私钥,用来签名
│   │   └── peer1.supervisor.freerent.cn # 一样
│   │ 
│   │   └── peer2.supervisor.freerent.cn # 一样
│   │ 
│   ├── tlsca  #存放该组织的TLS证书和对应的私钥 和msp中一样
│   │   ├── priv_sk
│   │   └── tlsca.supervisor.freerent.cn-cert.pem
│   │ 
│   └── users # 该组织的用户的实体
│       ├── Admin@supervisor.freerent.cn # 管理员
│       │   ├── msp # 存放代表身份的相关证书和私钥文件
│       │   │   ├── admincerts #Admin用户的管理身份证书,被组织根证书签名
│       │   │   ├── cacerts # 组织根证书
│       │   │   │   └── ca.supervisor.freerent.cn-cert.pem
│       │   │   ├── config.yaml
│       │   │   ├── keystore  # 用户签名私钥
│       │   │   │   └── priv_sk
│       │   │   ├── signcerts # 管理员身份验证证书,若被peer认可,则会存放到peer的msp/admincerts目录下
│       │   │   │   └── Admin@supervisor.freerent.cn-cert.pem
│       │   │   └── tlscacerts # 验证TLS连接用的CA证书,即组织的TLS CA证书
│       │   │       └── tlsca.supervisor.freerent.cn.pem
│       │   └── tls 
│       │       ├── ca.crt # 组织的TLS CA证书
│       │       ├── client.crt # 管理员用户的身份验证证书,被组织根证书签名
│       │       └── client.key # 管理员用户的私钥,用来签名
│       └── User1@supervisor.freerent.cn # admin类似
│           

说明:
1、crypto-config.yaml一般默认一个组织仅一个admin,因此在一个组织内部,所有的admincerts是一样的,admin的私钥在Users的Admin文件夹下;
2、在一个组织内部,所有的cacerts是一样的,ca的私钥在ca文件夹下;
3、在一个组织内部,所有的tlscerts是一样的,且和tls文件夹下的ca.cert一样,tlsca的私钥在tlsca文件夹下。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hyperledger Fabric 应用实战(2)--网络节点设置 的相关文章

随机推荐

  • 西瓜视频中视频计划还有机会吗?

    中视频计划也不是什么新项目 只是视频平台根据推广需要 不定期的对某类视频的创作进行推广激励的一种方式 一 中视频的定义 首先从时长和形式上说 中视频就是时长在一分钟以上 30分钟以内的视频内容 大部分以横屏为主 而这一次实操的项目也是横屏内
  • 蓝牙播放Stereo和Hands-Free AG Audio两种模式的区别?

    当使用蓝牙耳机时 发现电脑的播放设备显示了两种模式 如下图所示 Stereo模式下声音正常 而调到Hands Free AG Audio模式下声音频带窄了很多且音质差 典型的电话音 下面具体说说这两种模式的区别 stereo 立体声 音质好
  • Cannot load file containing pickled data when allow_pickle=False

    ValueError Cannot load file containing pickled data when allow pickle False 错误位置 utils dataloaders py 把 def load image s
  • 【Java基础知识 11】java泛型方法的定义和使用

    Java学习路线 搬砖工逆袭Java架构师 简介 Java领域优质创作者 CSDN哪吒公众号作者 Java架构师奋斗者 扫描主页左侧二维码 加入群聊 一起学习 一起进步 欢迎点赞 收藏 留言 目录 一 基本介绍 二 提出背景 1 代码实例
  • MySQL单天,本周,本月所有数据

    1 查询单天的记录 select from create time where TO DAYS create time TO DAYS NOW 注意 这里的create time是数据库中的时间字段 会根据这个时间去和今天的时间对比获取数据
  • 标志性建筑和成果的引领作用 (图&文)---旅美散记之一

    暑假期间在美国伊利诺伊大学香槟分校 UIUC 停留了几日 交流学习 访友探亲 一举数得 七分兴奋 三分累 累完之后 就不太想写长文 图像处理领域有句话 一图顶千言 说的是信息当量 不是说当年的 一句顶万句 否则 一万句就只相当于10幅图了
  • Android学习笔记---INSTALL_FAILED_INVALID_APK: /data/app/vmdl254464637.tmp/3_slice__ signatures are incon

    一个周末过去了 新的一周开始了 但是早上来的时候遇到了一个令人发指的问题 AS调试APK一直安装不上 提示 Installation failed with message Failed to finalize session INSTAL
  • python题目52:磁盘容量排序

    磁盘的容量单位有M G T这三个等级 他们之间的换算关系为 1T 1024G 1G 1024M 现在给定N块磁盘的容量 请对他们按从小到大的顺序进行稳定排序 例如给定5块盘容量 1T 20M 3G 10G6T 3M12G9M 排序后的结果为
  • R语言—定义数据框的列名

    1 在定义数据框时 定义列名 例如 a lt c 2 23 45 6 7 1 6 7 b lt c 4 6 1 2 5 66 10 2 df lt data frame a b 此时数据框df中的列名分别是a b 也可以如下 df lt d
  • 详解3D中obj文件格式

    原文链接 https www jianshu com p f7f3e7b6ebf5 加载3D模型的时候 遇到 obj格式的模型文件 之前有专门看过相关的资料 可惜没有总结 一下就忘了 再次用到 又去搜索了一番 发现网上很多文章讲的不是很全面
  • Char和VarChar的区别(无废话版)

    区别1 定长与变长 char表示定长 长度固定 varchar表示变长 即长度可变 char如果插入的长度小于自定义长度时候 中间用空格填充 varChar小于定义长度时 还是按照实际长度存储 插入多长就存多长 因为长度是固定的 char的
  • 浙江农林大学蓝桥杯程序设计竞赛校选拔赛 E-谁是天选之人

    众所周知下棋是一个运气游戏 不过好像也是有规律可循的 Graceful smiling cookies给它的n个棋子标序号 他决定以这些序号决定谁是天选 最开始每个棋子标号都是0 它要进行m次标序号 第i次标序号 它会将第 i X a b
  • python decimal 转换为float_在Python中将float转换为decimal类型

    我只是在玩数字游戏 我发现Numpy提供了一个名为np vectorize的函数 允许您获取一个函数并将其应用于Numpy数组 在 23 中 import numpy as np import decimal D decimal Decim
  • manjaro笔记本显卡驱动_从入门到高端!AMD Radeon RX 500系列移动显卡全解析

    前言 在处理器领域 卧薪尝胆十年之久的AMD终究还是给所有玩家带来了惊喜 2017年2月推出了ZEN构架的处理器之后 相信后面的事情大家都知道了 手忙脚乱的Intel公司在不到2年的时间内连续发布了三代酷睿产品以应对Ryzen处理器的威胁
  • mysql5.7以上的启动、停止、赋权命令

    文章目录 1 启动mysql server 2 查看初始密码 3 本地登陆mysql 4 修改本地root用户密码 5 防火墙设置 6 开启mysql的远程登录 1 启动mysql server systemctl start mysqld
  • 查看数据库字符集

    问题描述 最近发现在不同的数据库中 有时中文占用2个字节 有时占用3个字节 经过分析发现 对于varchar类型的字段 如果数据库字符集使用utf 8 则3个字节表示一个中文 如果数据库字符集使用gbk 则2个字节表示一个中文 数据库字符集
  • QMainWindow、QDialog与QWidget的区别

    一 定义 QWidget 是所有用户界面对象的基类 窗口部件是用户界面的一个原子 它从窗口系统接收鼠标 键盘和其它事件 并且在屏幕上绘制自己的表现 每一个窗口部件都是矩形 并且它们按Z轴顺序排列的 一个窗口部件可以被它的父窗口部件或者它前面
  • 关于mysql导入中文乱码问题的理解

    一般来说 mysql导入方式有三种 一种是通过mysql命令导入 一种是通过source方式导入 最后一种是直接复制sql语句导入 前两种方式一般都能导入成功 但如果这个备份文件有问题 例如本身这个文件里面在默认编码下就乱码了 那么第三种方
  • 全连接层详解

    一 什么是全连接层 转载自 https blog csdn net qq 39521554 article details 81385159 全连接层 fully connected layers FC 在整个卷积神经网络中起到 分类器 的
  • Hyperledger Fabric 应用实战(2)--网络节点设置

    1 网络节点设置 网络名称 rentnet 联盟组织 orderer排序组织 三个成员组织supervisor rentalcrop agency 通道 rentsign 账本数据库 couchdb 物理节点 组织 容器节点 supervi