【超级账本】cryptogen 与 configtxgen 模块介绍(三)-阿里云开发者社区

开发者社区> 小生凡一> 正文

【超级账本】cryptogen 与 configtxgen 模块介绍(三)

简介: 目录 1. cryptogen模块 1.1 命令介绍 1.2 生成证书 1.2.1 生成模板配置文件 1.2.2 生成证书 2. configtxgen模块 2.1 configtxgen命令介绍 2.2 修改配置文件 2.3 配置信息介绍 2.4 生成创世块 2.5 生成通道文件 2.6 更新锚节点 最后
+关注继续查看

目录

1. cryptogen模块

1.1 命令介绍

1.2 生成证书

1.2.1 生成模板配置文件

1.2.2 生成证书

2. configtxgen模块

2.1 configtxgen命令介绍

2.2 修改配置文件

2.3 配置信息介绍

2.4 生成创世块

2.5 生成通道文件

2.6 更新锚节点

最后

1. cryptogen模块

配置文件以及证书生成


1.1 命令介绍

cryptogen --help                 命令帮助
cryptogen showtemplate --help    子命令帮助


image.png


yaml格式介绍

大小写敏感

使用缩进表示层级关系(缩进的空格数不重要,只要相同层级的元素左对齐即可)

'#'表示注释

进不允许使用tab建,只能使用空格键

yaml文件使用

key:对象值表达方式

name:
 zhiliao
age:
 18
# key:数组,-后面有个空格
subject:
 - math
 - chinese
 - eng


配置信息介绍–yaml格式

OrderOrgs:# order组织配置项,有多个,所以是数据
 Name:组织名称
 Domain:根域名
 Specs
    -Hostname:二级域名 e.g.:orderer.example.com
    PeerOrgs:# peer组织配置项
 Name:组织名字
 Domain
  EnableNode0Us:是不是支持node.js
 Template:模板
  Count:生成的peer节点数(2个的话,peer0.根域名,peer1.根域名)
 Users:创建的普通用户,管理员会自动生成
  Count:用户数


Specs和Template的区别:


specs可以指定二级域名

Template会自动在前面加peer0,peer1按顺序这样的二级域名,可以互换使用 peer0.org1.example.com

1.2 生成证书

1.2.1 生成模板配置文件

指令

cryptogen showtemplate > conf.yaml

image.png

修改conf.yaml文件

image.png

修改成如下形式


image.png

1.2.2 生成证书

根据前面生成的模板配置文件生成证书


指令

cryptogen generate --help
cryptogen generate  如果不指定参数则会使用默认的配置
cryptogen generate --config conf.yaml


指定刚刚修改的conf.yaml的文件,于是就会生成两个结点的证书了。

image.png


然后可以看见目录多出了一个crypto-config文件

进去就能看见这些结点的信息了。

image.png

2. configtxgen模块

创世块和通道文件的生成


2.1 configtxgen命令介绍

configtxgen --help

image.png

2.2 修改配置文件

配置文件已存在,叫configtx.yaml,文件名字不能修改,因为configtxgen命令没有指定配置文件的参数,使用默认的


配置文件路径:sampleconfig/configtx.yaml


拷贝配置文件到自己的目录下



image.png

2.3 配置信息介绍

我的配置信息是这样的,每个人的可能会由于上面的配置文件的不同而不同


但是如果你是按照我上面的进行配置的话,那可以直接复制了~

my_yaml/configtx.yaml

Organizations:
  # orderer 组织
  - &OrdererOrg   # & 取地址 组织名称
    Name: OrdererMSP # 组织名称
    ID: OrdererMSP # MSP id
    MSPDir: crypto-config/ordererOrganizations/orderer.com/msp # msp路径
    # 无需设置锚节点
  # peer 组织, 下面两个锚节点
  - &Org1
    Name: Org1MSP
    ID: Org1MSP
    MSPDir: crypto-config/peerOrganizations/org1.example.com/msp
    AnchorPeers: # 锚节点
      - Host: peer0.org1.example.com  # 组织下任意节点,选为锚节点
        Port: 7051

  - &Org2
    Name: Org2MSP
    ID: Org2MSP
    MSPDir: crypto-config/peerOrganizations/org2.example.com/msp
    AnchorPeers:
      - Host: peer0.org2.example.com
        Port: 7051

Orderer: &OrdererDefaults   # 不用改,使用默认即可
  OrdererType: solo         # 共识机制类型,solo和kafka
  Addresses:                # 排序节点的域名
    - orderer.example.com:7050   # 域名:端口号,默认是7050
  BatchTimeout: 2s          # 批次,多长时间产生新的区块
  BatchSize:                # 批次大小
    MaxMessageCount: 100    #交易的最大数量,达到后产生新的区块,100条左右
    AbsoluteMaxBytes: 64 MB # 数据量达到后产生新的区块,32或64MB左右
    PreferredMaxBytes: 512 KB #建议的交易数值大小,512KB即可
  MaxChannels: 0            # 最大通道数
  Kafka:                    # kafka信息
    # Brokers: A list of Kafka brokers to which the orderer connects.
    # NOTE: Use IP:port notation
    Brokers:
      - 127.0.0.1:9092
  # Organizations is the list of orgs which are defined as participants on
  # the orderer side of the network.
  Organizations:

################################################################################
Application: &ApplicationDefaults

  # Organizations is the list of orgs which are defined as participants on
  # the application side of the network
  Organizations:

Profiles:
  # 创世块命令的配置
  GenGenesis:
    Orderer:          # Orderer配置项
      <<: *OrdererDefaults
      Organizations:  # orderer组织
        - *OrdererOrg # orderer组织引用

    Consortiums:        # 联盟
      SampleConsortium: # 这个可以改,下面Consortium的值也要着改
        Organizations:  # peer节点组织
          - *Org1
          - *Org2
  # 通道命令配置
  GenChannel:                     # 可以改生成通道的命令名字
    Consortium: SampleConsortium  # 和上面Consortiums 下面的SampleConsortium保持一致
    Application:
      <<: *ApplicationDefaults
      Organizations:   # peer节点
        - *Org1
        - *Org2

注意:


节点的id和name最好保持一致

锚节点只能有一个

key: value :和value之间是有空格,不然是不对的,正确的话颜色会变的

Host: peer1.example.com 和 Port: 7051中 host和port对齐

2.4 生成创世块

由于是在win下写的,所以我们要把这个东西传到linux下面。还是使用xftp6image.png

一定要设置环境变量

image.png

设置FABRIC_CFG_PATH=$PWD

image.png

然后让环境生效


进入存放configtx.yaml配置文件的路径


生成创世块命令:

configtxgen -profile GenGenesis(配置文件中profiles下的创世块命令) -outputBlock ./genesis.block(存放文件的路径,后缀为.block)
configtxgen -profile GenGenesis -outputBlock ./genesis.block

image.png


就可以看到这创世块genesis.block文件了

image.png

2.5 生成通道文件

进入存放configtx.yaml配置文件的路径

channelID: 使用小写
configtxgen -profile GenChannel(配置文件中profiles下的通道命令) -channelID fanonechannel -outputCreateChannelTx ./channel.tx(存放文件的路径,后缀为.tx)

image.png

然后我们就可以看到这个channel.tx文件了。


2.6 更新锚节点

进入存放configtx.yaml配置文件的路径

configtxgen -profile GenChannel(这里是通道的命令) 

-- channelID zlktChannel(所属哪个通道) 
-asOrg (配置文件中peer节点设置的组织名字,Name的名称) 
-outputAnchorPeersUpdate anchorPeers.tx(后缀是tx,名字最好和节点名字有关系,可能多个节点都会更新锚节点)

e.g.:
configtxgen -profile GenChannel -outputAnchorPeersUpdate ./Peer1OrgsAnchorUpdate.tx -asOrg Peer1 -channelID fanonechannel

image.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
26434 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
2753 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
10832 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
11825 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
12043 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
8664 0
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
7222 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
21566 0
+关注
小生凡一
你好呀!
157
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载