fabric v0.6 整体结构 - Agzs/hyperledger GitHub Wiki
##fabric v0.6 介绍
1. bddtests包
测试包,含有大量 bdd 测试用例;
2. consensus包
3. core包
大部分核心实现代码都在本包下。其它包的代码封装上层接口,最终调用本包内代码;
4. devenv包
配置开发环境;
5. docs包
含有一些css、html文件,以及一些说明文档。
- users-guide.rst 这个文档很重要,详细的介绍了fabric-ca的安装配置、使用。
6. events包
支持 event 框架
7. examples包
包括一些示例的 chaincode 代码;
8. flogging包
封装 go-logging,提供日志支持;
9. gotools包
golang 开发相关工具安装;
10. images包
含有一个fabric-ca-fvt目录,一些跟 Docker 镜像生成相关的配置和脚本。主要包括各个镜像的 Dockerfile.in 文件。这些文件是生成 Dockerfile 的模板。不过还没看懂是干嘛用的?
11. membersrvc包
12. metadata包
版本信息等;
13. peer包
peer 的入口和框架代码;
14. proposals包
15. protos包
包括各种协议和消息的 protobuf 定义文件;
16. pub包
17. scripts包
一些辅助脚本,多数为外部 Makefile 调用。
18. sdk包
19. tools包
20. vendor包
管理包依赖 查找依赖包路径的解决方案如下:
- 当前包下的vendor目录。
- 向上级目录查找,直到找到src下的vendor目录。
- 在GOPATH下面查找依赖包。
- 在GOROOT目录下查找
21. 其他文件
根目录下的一些文件,包括一些说明文档、安装需求说明、License 信息文件等
- Makefile文件 builds all targets and runs all tests/checks,执行测试、格式检查、安装依赖、生成镜像等操作。
- README.md文件 开发者帮助文档,项目的说明文件,包括一些有用的链接等。
- Docker 相关文件 .dockerignore: 生成 Docker 镜像时忽略一些目录,包括 .git 目录。
- git 相关文件 .gitattributes: git 代码管理时候的属性文件,带有不同类型文件中换行符的规则,默认都为 linux 格式,即 \n。 .gitignore: git 代码管理时候忽略的文件和目录,包括 build 和 bin 等中间生成路径。 .gitreview: 使用 git review 时候的配置,带有项目的仓库地址信息。
- travis 相关文件 .travis.yml: travis 配置文件,目前是使用 golang 1.6 编辑,运行了三种测试:unit-test、behave、node-sdk-unit-tests。