fabric002 fabric的核心模块和命令

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36336522/article/details/84317538

我想学完fabric的几个核心模块和功能就搭建一个最简单的fabric网络吧,总之,我们一起努力,一起学习,看着官网,网上的教程试探性的学习,由于自己还有一年就是研究生了,压力很大,学长很强。。。

一、fabric的五个核心模块

  1. peer:主节点模块,负责存储区块链数据,运行维护链码
  2. orderer:交易打包,排序模块(为什么要排序??)
  3. cryptogen:组织和证书生成模块
  4. configtxgen:区块和交易生成模块
  5. configtxlator:区块和交易解析模块

其中1和2是系统的模块,今后需要参与系统的运行,启动之后会以守护进程的方式在系统后台长期运行;

345是工具模块,所以可以看到他们生成一些证书文件,区块链创世块,创建通道等相关文件和证书的工作;

二、fabric模块的相关命令

由于现在没有可视化界面给我们操作,我们需要记住一些命令行代码,你就把fabric想象成一个IDE,中间的一些按钮需要你去用命令行去操作,这样是不是fabric也没有那么难了呢....

配置方式的大小关系:环境变量 > 配置文件 > 命令选项

如果你想使用下面的命令~-~,我这里多说一句,你需要配置环境变量

cp $GOPATH/src/github.com/hyperledger/fabric/release/linux-amd64/bin/*  /use/local/bin

sudo chmod -R 775 /usr/local/bin/configtxgen

sudo chmod -R 775 /usr/local/bin/configtxlator

sudo chmod -R 775 /usr/local/bin/cryptogen

sudo chmod -R 775 /usr/local/bin/peer

sudo chmod -R 775 /usr/local/bin/orderer

cryptogen模块

用来生成组织结构和账号相关的文件------------------------> 所以任何fabric系统的开发都是从cryptogen模块开始的,当系统设计完之后第一项工作是根据系统开发来编写cryptogen的配置文件,然后通过这些配置文件生成一系列的证书,可谓是整个fabric的基石

cryptogen --help 显示模块的命令行选项

  • help : 显示帮助信息
  • generate:根据配置文件生成证书信息
  • showtemplate:显示系统默认cryptogen模块配置文件信息
  • version:显示当前模块的版本号

cryptogen模块的配置文件:

cryptogen模块的配置文件用来描述需要生成的证书文件的特性,比如:有多少个组织,有多少个节点,需要多少个账号等,这里我们通过一个模块的配置文件来初步了解结构:

https://github.com/hyperledger/fabric/blob/release/examples/e2e_cli/crypto-config.yaml


通过cryptogen模块的配置文件生成配置信息

举例:自己创建一个/opt/hyperledger/fabricconfig的空文件夹,自己写一个yaml文件然后

cryptogen generate --config=/opt/hyperledger/fabricconfig/crypto-config.yaml 

                                                                                             --output  /opt/hyperledger/fabricconfig/crypto-config

configtxgen模块

  • asOrg:所属的组织
  • channelID:channel名字,如果没有系统会提供一个默认值
  • inspectBlock:打印制定区块文件中的配置内容
  • inspectChannelCreateTx:打印创建通道的交易的配置文件
  • outputAnchorPeersUpdate:更新channel配置信息
  • outputBlock:输出区块文件的路径
  • outputCreateChannelTx:标示输出创世块文件
  • profile:配置文件的节点
  • version:输出版本信息

configtxgen的配置文件configtx.yaml,以下是五大配置信息

  • Profile:配置文件,不同的配置文件可以在这里进行编码,以指定configtxgen工具的参数
  • Organizations:组织节点信息,定义了不同组织的标志,这些标志将在稍后的配置中被引用
  • Orderer:启动模式,定义了将编码转换为配置事物的值,或者用于orderer相关参数的创世纪块
  • Application:应用,定义了将编码转换为配置事务的值,或者用于应用程序相关参数的创世纪块
  • Capablities:功能特性集合

configtxgen模块

  • start:启动configtxlator REST服务器  ,两个参数 一个--hostname 一个port
  • version:显示版本信息

REST服务提供了四种功能分别是:解码,编码,计算配置更新量,交易打包这四种功能,太麻烦举例了.............................

configtxgen模块

  • start* 启动orderer节点
  • show version information
  • benchmark 采用基准本模式运行
  • version 显示版本信息

peer模块

  • chaincode chaincode相关操作 | install | instantiate | invoke | package | query | signpackage | upgrade | list
  • channel channel相关操作 | create | fetch | join | list | update
  • logging log-level | getlevel | setlevel | revertlevels 
  • node 启动peer节点服务器
  • version 显示版本信息

其实peer 和 orderer 内容很多,有机会我补上,主要是不打想敲键盘了...

猜你喜欢

转载自blog.csdn.net/qq_36336522/article/details/84317538