fabric整体项目结构介绍
一、结构介绍
-
bccsp:加密标准以及算法的实现,包括加密、签名、验签服务
-
bddtests:bdd测试框架相关的测试
-
common:通用功能以及一些通用的代码实现,包括日志、错误、工具包等,主要包括项目全局的功能性代码。
-
core:核心代码模块,其中包括权限控制、chaincode模块、committer、endorser、ledger、policy等核心功能的代码实现
-
discovery:为客户端程序提供服务发现的功能
-
docs:文档
-
events:为客户端提供事件订阅的功能
-
examples:案例
-
gossip:信息传播的模块,为Fabric在节点间达成最终一致性
-
Idemix:零知识证明,无需提供私有数据即可证明,包括用户(User)、发行者(Issuer)、验证者(Verifier)
-
integration:代码集成
-
gotools:用于编译Fabric
-
msp:提供成员服务
-
orderer:排序节点模块
-
peer:peer节点
-
proposals:存放相关提案
-
protos:存放Protocol buffer消息
-
release_notes:各个版本的更新日志
-
sampleconfig:相关样例配置文件
-
scripts:存放相关脚本文件
-
unit-test:单元测试(testenv)
-
swagger:接口文档
-
tools:工具
-
vagrant:创建虚拟机,自动化配置和安装开发环境
二、核心代码
- bccsp包:实现对加解密算法和机制的支持
- common包:一些通用的模块
- core包:核心代码都在本包下
- events包:为客户端提供事件订阅的功能
- examples包:示例
- gossip包:信息传播的模块
- msp包:提供成员服务
- order包:order服务相关的入口和框架代码
- peer包:peer的入口和框架代码
- protos包:包括各种协议和消息的protobuf定义文件和生成的go文件