Fabric学习:Fabric源码

 

 系统运行架构。

下图是上图简化版。

Orderer排序节点配置文件:

orderer.yaml

通用配置文、账本配置、Kafka配置                                                                                                                                                                        

/etc/hyperledger/fabric

msp

组织成员身份证书、签名私钥等文件

/var/ hyperledger/orderer

tls

TLS认证证书密钥等文件

orderer.genesis.block

系统通道创世区块文件

 Peer节点配置文件:

channel.tx

应用通道配置交易文件

/etc/hyperledger/fabric

Org1MSPanchors.tx

Org1MSP组织锚节点配置更新交易文件

/opt/gopath/src/github.com/ hyperledger/fabric/peer/channel-artifaxts

Org2MSPanchors.tx

Org2MSP组织锚节点配置更新交易文件

配置机制:Viper。

 

配置区块文件。

crypto-config.yaml:定义组织成员关系,用于生成指定拓扑结构的组织关系与身份证书、密钥等文件,TLS认证证书。

configtx.yaml:定义Orderer系统通道和应用通道配置信息,包括联盟和组织定义,生成系统通道创世区块文件、新建应用通道配置交易文件、锚节点更新交易文件等。

core.yaml:定义Peer节点的日志配置、通用配置、Gossip配置、events配置、tls配置、vm链码运行环境、链码相关配置等。

环境变量:

RDERER_XXX:Orderer节点环境变量配置,与orderer.yaml配置项对应。

CORE_XXX:Peer节点环境配置,与core.yaml配置项对应。

测试流程脚本(测试Orderer排序节点是否可用、创建应用通道、添加Peer节点到指定通道、更新通道中每个组织的锚点配置、安装链码、实例化链码、查询链码)

Orderer节点源码:

 

blocksprovider:区块提供者模块。

client.go:提供broadcastClient客户端。

deliveryclient.go:Deliver服务客户端。

requester.go:请求区块数据。

/fabric/protos/orderer:protobuf消息定义模块。

/fabric/common/deliver:定义Deliver服务器及处理接口。

Peer节点包括Endorser背书节点、Committer记账节点等。

Endorser背书节点:检查用户提交的签名提案消息,启动链码容器模拟执行交易提案,验证结果通过后进行签名背书。

Committer记账节点:负责检查交易消息格式的合法性与验证背书策略的有效性。

猜你喜欢

转载自blog.csdn.net/weixin_41865104/article/details/109229824