当前位置:网站首页>图书 > 正文 >>

Hyperledger Fabric技术内幕:架构设计与实现原理

图书信息

作者李鑫
出版社机械工业出版社
ISBN9787111618560
出版时间2019-01-01
字数85.4万
分类科技,计算机,网络,程序设计

读书简介

近年来的企业实践表明,联盟是极具重要应用前景与潜力的区块落地技术方案,而超级账本Hyperledger Fabric已经成为联盟领域中具有国际影响力的主流技术。 本书深分析了Hyperledger Fabric的源代码,从宏观上分析了Hyperledger Fabric的整体架构、设计逻辑和运行机制,从微观上剖析了各核心模块的设计理念与实现原理,同时兼顾区块系统底层架构研发者和上层应用发者的需求,帮助读者掌握Hyperledger Fabric的精髓。

目录

前言

本书面向的读者

如何阅读本书

本书结构

关于本书代码

致谢

第1章 区块链基础与Hyperledger Fabric架构

1.1 区块链背景、概念与现状

1.1.1 区块链产生的背景及研究热潮

1.1.2 区块链概念与核心技术

1.1.3 区块链典型平台现状及趋势

1.2 Hyperledger Fabric基本概念与架构

1.2.1 基本概念

1.2.2 Hyperledger Fabric架构

1.2.3 安装基础环境与部署Fabric系统

1.2.4 Fabric初始化启动流程

1.2.5 Fabric交易处理流程

1.3 Hyperledger Fabric源码分析说明

1.3.1 源码分析思路

1.3.2 配置机制

1.4 小结

第2章 Orderer排序节点

2.1 功能概述

2.2 Orderer节点启动流程

2.2.1 加载orderer.yaml配置文件

2.2.2 初始化日志与本地MSP组件

2.2.3 启动Orderer排序节点

2.3 Broadcast交易广播服务

2.3.1 概述

2.3.2 Broadcast服务消息处理

2.4 Orderer共识排序服务(配置交易消息)

2.4.1 概述

2.4.2 Solo共识组件

2.4.3 Kafka共识组件

2.5 Orderer共识排序服务(普通交易消息)

2.5.1 概述

2.5.2 Solo共识组件

2.5.3 Kafka共识组件

2.6 Deliver区块分发服务

2.6.1 概述

2.6.2 Deliver服务消息处理

2.6.3 Deliver服务客户端

2.7 小结

第3章 Peer节点

3.1 功能概述

3.1.1 链码生命周期管理

3.1.2 系统链码

3.1.3 用户链码

3.2 Peer节点启动流程

3.2.1 启动流程概述

3.2.2 定义、注册命令与初始化配置

3.2.3 初始化本地MSP组件

3.2.4 执行启动Peer节点命令

3.3 peer channel通道子命令

3.3.1 定义注册channel子命令

3.3.2 创建通道命令create

3.3.3 Peer节点加入通道命令join

3.3.4 获取区块命令fetch

3.3.5 获取区块链信息getinfo

3.3.6 获取已加入通道列表list

3.3.7 签名配置交易文件signconfigtx

3.3.8 更新通道配置update

3.4 peer chaincode链码子命令

3.4.1 定义注册chaincode子命令

3.4.2 安装链码命令install

3.4.3 实例化链码命令instantiate

3.4.4 调用链码命令invoke

3.4.5 查询链码命令query

3.4.6 升级链码命令upgrade

3.4.7 查询链码列表命令list

3.4.8 打包链码命令package

3.4.9 签名链码包命令signpackage

3.5 其他子命令

3.5.1 状态查询子命令

3.5.2 版本子命令

3.5.3 日志子命令

3.6 小结

第4章 Endorser背书节点

4.1 功能概述

4.2 Endorser背书服务

4.3 预处理签名提案消息

4.3.1 验证消息格式与签名合法性

4.3.2 检查是否为允许外部调用的系统链码

4.3.3 检查签名提案消息的唯一性

4.3.4 检查是否满足通道的访问权限策略

4.4 模拟执行提案

4.4.1 检查实例化策略

4.4.2 启动链码容器概述

4.4.3 准备启动链码容器

4.4.4 启动系统链码inprocContainer容器

4.4.5 启动用户链码Docker容器

4.4.6 消息处理核心函数

4.4.7 请求链码执行

4.4.8 停止链码容器

4.4.9 处理模拟执行结果

4.5 对模拟执行结果签名背书

4.6 小结

第5章 Committer记账节点

5.1 功能概述

5.2 创建与调用Committer功能模块

5.2.1 创建Committer功能模块

5.2.2 调用Committer功能模块

5.3 交易验证器

5.3.1 验证交易数据的合法性

5.3.2 VSCC验证交易背书策略

5.4 账本提交器

5.4.1 验证与准备数据

5.4.2 提交账本数据

5.5 小结

第6章 Gossip消息模块

6.1 功能概述

6.2 Gossip消息模块启动流程

6.2.1 创建与初始化Gossip服务器实例

6.2.2 初始化通道上的Gossip服务模块

6.3 Gossip消息通信与处理机制

6.3.1 Gossip消息概述

6.3.2 Gossip消息通信与处理机制

6.3.3 Gossip服务实例中的消息处理

6.3.4 state模块中的数据消息处理

6.3.5 state模块中的远程状态与隐私数据消息处理

6.3.6 Fetcher组件中的隐私数据请求与响应消息处理

6.3.7 election选举模块中的主节点选举消息处理

6.4 Gossip节点管理机制

6.4.1 管理新加入Peer节点

6.4.2 选举Leader主节点

6.4.3 更新节点相关信息机制

6.5 Gossip数据分发与状态同步机制

6.5.1 分发区块数据流程

6.5.2 分发隐私数据流程

6.5.3 更新通道状态信息

6.5.4 更新数据消息

6.6 Gossip反熵算法

6.6.1 获取当前最大的账本高度

6.6.2 分批发送远程状态请求消息

6.6.3 处理远程状态请求消息

6.7 小结

第7章 公共功能模块

7.1 账本数据存储模块

7.1.1 Peer节点账本

7.1.2 idStore数据库

7.1.3 区块数据文件与隐私数据库

7.1.4 区块索引数据库

7.1.5 状态数据库

7.1.6 历史数据库

7.1.7 transient隐私数据库

7.2 安全服务模块

7.2.1 MSP(成员关系服务模块)

7.2.2 BCCSP(区块链密码服务模块)

7.3 Events事件模块

7.3.1 创建事件服务器

7.3.2 订阅与发布事件

7.3.3 注册与注销事件

7.4 小结

附录A Hyperledger Fabric配置文件

A.1 orderer.yaml配置文件

A.2 core.yaml配置文件

附录B e2e_cli示例相关文件情况

参考文献