Hyperledger Fabric(四)first-network案例中的主要配置文件及主要脚本

主要配置文件:

1.crypto-config.yaml

Cryptogen工具使用该文件生成“密码材料”,即Fabric网络中各种实体(peer、order、ca)所需的证书及密钥。crypto-config.yaml包含网络拓扑结构定义,Cryptogen以其为基础为组织(包括order)和属于这些组织的组件(peer和ca)生成证书及密钥。该配置文件中的“count”变量用来指定每个组织的对等点数量,文件的其余部分较容易理解。

cryptogen generate --config=./crypto-config.yaml   #运行该工具后,这些证书将被放置在一个名为“crypto-config”的文件夹中。

2.configtx.yaml

configtx.yaml包含一个联盟网络(通道)的定义。该文件首先指定每个成员组织的MSP目录的位置(order创世区块中需要存储成员组织的根证书)、组织的锚节点等。然后指定了一个联盟(联盟中可以创建多个通道)由哪些组织构成,以及order服务的相关配置(共识类型,区块大小等)。此外该文件还规定了系统通道和普通通道的一些访问控制策略。

configtxgen工具基于configtx.yaml配置文件创建四个工件:genesis.block,channel.tx,Org1MSPanchors.tx,Org2MSPanchors.tx。genesis.block为系统通道(由所有order节点维护)的创世区块,后三者分别为创建通道,设置ORG1、ORG2的锚节点(锚节点为某组织对order可见的节点)的系统事务,Fabric的配置操作作为系统事务提交到系统通道中。

export FABRIC_CFG_PATH=$PWD   #告诉configtxgen从哪里寻找configtx.yaml文件

configtxgen -profile SampleMultiNodeEtcdRaft -channelID byfn-sys-channel -outputBlock ./channel-artifacts/genesis.block   #生成系统通道创世区块genesis.block

export CHANNEL_NAME=mychannel   #通过环境变量设定通道名称

configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID $CHANNEL_NAME   #创建 通道配置 事务

configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org1MSP   #创建 更新组织Org1在该通道上的锚节点 的事务

主要脚本:

1.ccp-generate.sh

fabcar案例中,startFabric.sh脚本中在使用cryptogen工具为组织生成证书后,调用该脚本生成CCP文件,生成的CCP文件有json和yaml两种格式。CCP文件的用处还不太明确,貌似是SDK连接区块链网络时所需要的文件,后续更新。

configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org2MSP   #创建 更新组织Org2在该通道上的锚节点 的事务

生成的四个配置组件位于channel-artifacts目录下

原文地址:https://www.cnblogs.com/always-kaixuan/p/12403445.html

时间: 2024-10-03 17:31:47

Hyperledger Fabric(四)first-network案例中的主要配置文件及主要脚本的相关文章

Hyperledger Fabric原理(3)通道与组织

1,通道的结构 通道是Fabric中非常重要的概念(类似微信群?),它实质是由排序节点划分和管理的私有原子广播通道,目的是对通道的信息进行隔离,使得通道外的实体无法访问通道内的信息,从而实现交易的隐私性. 目前通道分为系统通道(System Channel)和应用通道(Application Channel).排序节点通过系统通道来管理应用通道,用户的交易信息通过应用通道传递.对一般用户来说,通道是指应用通道.系统通道与应用通道的关系如下图: 在文章https://www.cnblogs.com

Hyperledger Fabric CA User’s Guide——概述(二)

概述 下面的图表说明了如何将Hyperledger Fabric CA与总体的Hyperledger Fabric结构相匹配. 有两种方式与一种Hyperledger Fabric CA服务器进行交互:通过Hyperledger Fabric CA的客户端或通过任意一种Fabric的SDKs.所有与Hyperledger Fabric CA服务器的通信都是通过REST api进行的.有关这些REST api的swagger文档,请参见fabric-ca/swagger/swagger-fabri

Hyperledger Fabric on SAP Cloud Platform

今天的文章来自Wen Aviva, 坐Jerry面对面的程序媛. Jerry在之前的公众号文章<在SAP UI中使用纯JavaScript显示产品主数据的3D模型视图>已经介绍过Aviva了,SAP成都C4C开发团队中其他同事评价她为:"美腻与智慧的化身","云时代女王","是大家前沿技术的引路人".因为Jerry和Aviva就在一个组,所以我的看法是,这些评价都实至名归. 比如Jerry了解到的Javascript 3D渲染,增强现

在Ubuntu中部署并测试HyperLedger Fabric

最近开始研究区块链,对这个新兴的技术有了基本概念上的了解,所以打算基于一个开源项目做做实验.如果是做数字货币,那么比特币的源代码是最好的了,不过这算是区块链1.0吧,已经有很多改进的竞争币和山寨币出来了,所以打算对区块链2.0,也就是智能合约入手. 智能合约比较成功的就是以太坊了.以太坊主要是公有链,其实对企业应用来说并不是特别合适,而且本身并没有权限控制功能,面向企业的,主要还是超级账本HyperLedger的Fabric和刚刚开源出来的R3的Corda.关于这些项目的应用场景和区别,我觉得这

安装hyperledger fabric V1.0.0(维护中)

因1.0版本刚刚发布,正在重新测试与安装,使用该文档安装会有问题,如修改完成,会重新开放.  E2E的例子在部署chaincode时会报以下的错误,所以目前请安装beta版本 安装文档位置: https://github.com/hyperledger/fabric   fabric代码托管地址 https://hyperledger-fabric.readthedocs.io/en/latest/  在线文档地址 https://github.com/hyperledger/fabric/ar

Hyperledger Fabric中的Identity

Hyperledger Fabric中的Identity 什么是Identity 区块链网络中存在如下的角色:peers, orderers, client application, administrators等等.每一个这样的角色都有一个身份标识(Identity),该身份标识是通过X.509 数字证书来表示的.这些身份标识决定了该角色的对区块链网络上资源的权限,比如是否有权限访问区块链上的某种信息. 数字身份有很多附加属性,供fabric来判断权限.数字身份给出了一个身份的组合结构,与之相

Hyperledger Fabric 1.0 从零开始(四)——Fabric源码及镜像文件处理

2:Fabric源码及镜像文件处理 2.1下载Fabric源码 下载Fabric源码是因为要用到源码中提到的列子和工具,工具编译需要用到go语言环境,因此需要把源码目录放到$GOPATH下.通过1.3中go的安装配置,$GOPATH设置为/opt/gopath. 我们可以使用Git命令下载源码,也可以使用go get命令,偷懒一点,我们直接用go get命令获取最新的Fabric源码: go get github.com/hyperledger/fabric [注:使用离线环境或者内网环境的朋友

在HyperLedger Fabric中启用CouchDB作为State Database

回顾一下我之前的一篇博客,在Fabric 1.0中,我们存在3种类型的数据存储,一种是基于文件系统的区块链数据,这个跟比特币很像,比特币也是文件形式存储的.Fabric1.0中的区块链存储了Transaction订单读写集.而读写集到底是读什么?写什么?其实就是我们的State Database,也叫做World State,里面以键值对的方式存储了我们在ChainCode中操作的业务数据.另外还有就是对历史数据和区块链索引的数据库. 区块链是文件系统,这个目前不支持更改,历史数据和区块链的索引

Ubuntu16.04 中 HyperLedger Fabric v1.1.0 环境准备

一.环境准备 1.1 Ubuntu下安装 crul sudo apt install curl curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多种Linux发行版中,并且有DOS和Win32.Win64下的移植版本. 作用:文件传输 1.2 安装 Docker and Docker Compose Docker-compose是支持通过模板脚本批量创建Docker容器的一个组件. 前期准备: 由于apt官方库里的docker版本可能比较旧,所以先卸载可能存