超级账本Fabric1.0代码粗分析

Hyperledger Fabric 在 1.0 中,架构已经解耦为三部分:

  • fabric-ca:即原先的 membersrvc,独立成一个新的项目

  • fabric-peer: 主要起到peer作用,包括 endorser committer

  • fabric-order: 起到共识排序作用

实现 fabric 功能的核心代码,包括:

  • bccsp 包:实现对加解密算法和机制的支持。

  • common 包:一些通用的模块;

  • core 包:大部分核心实现代码都在本包下。其它包的代码封装上层接口,最终调用本包内代码;

  • events 包:支持 event 框架;

  • examples 包:包括一些示例的 chaincode 代码;

  • gossip 包:实现 gossip 协议;

  • msp 包:Member Service Provider 包;

  • order 包:order 服务相关的入口和框架代码;

  • peer 包:peer 的入口和框架代码;

  • protos 包:包括各种协议和消息的 protobuf 定义文件和生成的 go 文件。

源码相关工具, 一些辅助代码包,包括:
  • bddtests:测试包,含有大量 bdd 测试用例;

  • gotools:golang 开发相关工具安装;

  • vendor 包:管理依赖;

安装部署
  • busybox:busybox 环境,精简的 linux;

  • devenv:配置开发环境;

  • images:镜像生成模板等。

  • scripts:各种安装配置脚本;


User Chaincode启动运行(docker中)

用户链码(User Chaincode,UCC),对应用开发者来说十分重要,

它提供了基于区块链分布式账本的状态处理逻辑,基于它可以开发出多种复杂的应用。

Hyperledger Fabric 中,Chaincode 默认运行在 Docker 容器中。Peer 通过调用 Docker API

来创建和启动 Chaincode 容器。Chaincode 容器启动后跟 Peer 之间创建 gRPC 连接,双方

通过发送 ChaincodeMessage 来进行交互通信。Chaincode 容器利用 core.chaincode.shim

包提供的接口来向 Peer 发起请求。

猜你喜欢

转载自blog.csdn.net/wxid2798226/article/details/81709981
今日推荐