为你推荐
序一 以企业级联盟区块链技术引领我国新一代信息技术的突破式发展
序二 去除炒作泡沫,回归技术本质
前言
第1章 准备工作
1.1 Go语言环境配置
1.1.1 Go语言简介
1.1.2 Go安装
1.1.3 Go标准包安装
1.1.4 第三方工具安装
1.1.5 Go环境配置
1.1.6 代码目录结构规划
1.1.7 编译应用
1.1.8 获取远程包
1.1.9 程序的整体结构
1.2 安装Docker
1.2.1 macOS
1.2.2 Ubuntu
1.2.3 Docker的简易使用
1.3 Hyperledger社区介绍
第2章 架构分析
2.1 Fabric整体架构
2.1.1 概述
2.1.2 系统架构
2.1.3 交易背书的基本工作流程
2.1.4 背书策略
2.1.5 证实账本和节点账本检查
2.2 Fabric交易流程
2.3 Fabric整体项目结构介绍
2.3.1 Fabric项目结构
2.3.2 Fabric源码中相关缩写的含义
第3章 源码分析
3.1 Logging日志模块浅析
3.1.1 go-logging简介
3.1.2 flogging
3.1.3 init函数、MustGetLogger函数与其他函数
3.2 Error错误机制设计
3.2.1 总体概览
3.2.2 使用说明
3.2.3 显示错误消息
3.2.4 错误处理的一般准则
3.3 Config配置模块的设计
3.3.1 viper简介
3.3.2 安全文件配置
3.3.3 命令选项配置
3.3.4 环境变量配置
3.4 grpc服务
3.4.1 grpc用法的Demo
3.4.2 Fabric中的grpc服务接口和实例
第4章 peer的设计与实现
4.1 CommandLine解析
4.1.1 peer目录结构
4.1.2 第三方包
4.1.3 peer命令结构解析
4.1.4 以node为例进行子命令结构解析
4.1.5 peer命令结构
4.2 Admin及Endorser服务的实现
4.2.1 Admin
4.2.2 Endorser
4.2.3 频道中的策略检查器
4.3 Committer的机制
4.3.1 committer.go分析
4.3.2 committer_impl.go分析
4.3.3 validator.go分析
4.3.4 vscc_validator.go分析
第5章 order的设计与实现
5.1 orderer内部机制窥探
5.1.1 kingpin
5.1.2 模块
5.1.3 配置
5.1.4 模块的初始化
5.2 kafka排序服务机制讲解
5.3 orderer在Fabric中的交互流程
5.3.1 建立连接
5.3.2 Broadcast
5.3.3 orderer
5.3.4 Deliver
第6章 chaincode的设计与实现
6.1 chaincode生命周期管理
6.1.1 打包
6.1.2 安装chaincode
6.1.3 实例化chaincode
6.1.4 升级chaincode
6.1.5 停止与启动
6.1.6 CLI
6.2 chaincode原理浅析
6.2.1 什么是chaincode
6.2.2 ChaincodeSupport服务
6.2.3 FSM
6.2.4 Register
6.2.5 Handler
6.2.6 processStream
6.2.7 HandleMessage
6.2.8 serialSend或serialSendAsync
6.2.9 系统chaincode
6.3 chaincode数据结构分析
6.3.1 chaincode元数据
6.3.2 chaincode的元工具
6.4 SystemChaincode讲解
6.4.1 SystemChaincode
6.4.2 预定义和注册
6.5 CSCC分析
6.5.1 结构体
6.5.2 函数
6.6 ESCC分析
6.6.1 结构体
6.6.2 Init函数
6.7 LSCC分析
6.7.1 结构体和接口
6.7.2 函数操作
6.7.3 安装、部署和升级
6.7.4 chaincode stub接口实现
6.8 QSCC分析
6.8.1 结构体
6.8.2 函数操作
6.8.3 路由规则
6.9 VSCC分析
6.9.1 结构体
6.9.2 函数
6.10 SystemChaincode的注册和实例化
6.10.1 概述
6.10.2 安装
6.10.3 部署
6.10.4 Launch
6.10.5 Execute
6.10.6 部署后状态
6.11 ApplicationChaincode的部署
6.11.1 概述
6.11.2 生成签名申请包
6.11.3 处理安装申请
6.11.4 执行申请
6.11.5 Launch
6.11.6 Execute
6.11.7 一路返回
6.11.8 安装后的状态
6.12 ApplicationChaincode的实例化
6.12.1 概述
6.12.2 起点
6.12.3 部署
6.12.4 广播
6.12.5 部署后的状态
6.13 chaincode操作步骤
6.13.1 选择一个代码存放位置
6.13.2 内务处理
6.13.3 初始化chaincode
6.13.4 调用chaincode
6.13.5 实现chaincode应用
6.13.6 整合全部代码
6.13.7 编译chaincode
6.13.8 在开发者模式下测试
6.13.9 安装Hyperledger Fabric样例
6.13.10 下载Docker镜像
6.13.11 1号终端
6.13.12 2号终端
6.13.13 3号终端
6.13.14 测试新的chaincode
第7章 MSP成员服务提供者
7.1 MSP的设计思路
7.1.1 MSP配置
7.1.2 如何生成MSP证书和它们的签名匙
7.1.3 MSP setup on the peer&orderer side
7.1.4 Channel MSP setup
7.1.5 最佳实践
7.2 MSP实现剖析
7.2.1 目录结构
7.2.2 MSP配置
第8章 Gossip节点间的流言蜚语
8.1 Gossip协议原理解析
8.1.1 Gossip协议(Gossip protocol)
8.1.2 Gossip消息传输(Gossip messaging)
8.2 Gossip之服务组件
8.2.1 protos/gossip分析
8.2.2 Gossip服务组件
8.2.3 gossip消息发送方式详解
8.3 Gossip之服务初始化
8.3.1 gossipSvc组件
8.3.2 chains组件
8.3.3 leaderElection组件
8.3.4 gossip服务的停止
8.4 Gossip之消息广播
8.4.1 gossip服务消息的散播过程
8.4.2 消息从何而来
8.4.3 消息如何散播
8.4.4 消息去往何方
8.5 channel通道的设计与实现
8.5.1 概述
8.5.2 配置文件
8.5.3 命令
8.6 事件机制
8.6.1 Fabric中Event相关实现
8.6.2 events/producer
8.6.3 Go SDK中Event相关实现
第9章 BCCSP加密服务提供者的设计与实现
9.1 密码学相关知识介绍
9.1.1 安全基础
9.1.2 加密基础
9.1.3 哈希函数
9.1.4 共享密钥加密
9.1.5 公钥加密
9.1.6 混合加密
9.1.7 消息验证码
9.1.8 数字签名
9.1.9 数字证书
9.2 BCCSP概要
9.2.1 BCCSP简介
9.2.2 陷阱函数
9.2.3 为什么要使用ECDSA
9.2.4 生成签名
9.2.5 验证签名
9.3 BCCSP源码剖析
9.3.1 BCCSP服务结构
9.3.2 BCCSP中的接口和选项
9.3.3 SW实现方式
9.3.4 pkcs11实现方式
第10章 Fabric CA架构设计与讲解
10.1 Fabric CA用户指南
10.2 Fabric-CA-Server
10.2.1 初始化服务端
10.2.2 算法和密钥长度
10.2.3 启动服务端
10.2.4 配置数据库
10.2.5 PostgreSQL
10.2.6 PostgreSQL SSL配置
10.2.7 MySQL
10.2.8 MySQL SSL配置
10.2.9 配置LDAP
10.2.10 构建一个集群
10.2.11 构建多个CA
10.2.12 登录一个中间CA
10.2.13 升级服务端
10.2.14 升级一个集群
10.3 fabric-ca-client
10.3.1 登录启动用户
10.3.2 注册一个新身份
10.3.3 登录一个节点
10.3.4 从另一个Fabric CA服务器获得CA证书链
10.3.5 重新登录一个身份
10.3.6 撤销一个证书或身份
10.3.7 生成一个CRL
10.3.8 启用TLS
10.3.9 基于属性的访问控制
10.3.10 动态更新服务器配置
10.3.11 联系特定的CA实例
10.4 HSM
第11章 账本机制的设计与实现
11.1 Ledger架构概述
11.1.1 总览
11.1.2 ledger部分摘要
11.2 Ledger之Block-Storage
11.2.1 peer节点中的leveldb
11.2.2 peer节点中的账本
11.2.3 创建
11.2.4 使用
11.2.5 idStore
11.2.6 存储账本ID
11.2.7 ConstructionFlag
11.2.8 账本恢复
11.2.9 BlockStore
11.3 Ledger之VersionedDB
11.3.1 peer节点使用VersionedDB
11.3.2 交易模拟器/交易查询器
11.3.3 重启恢复
11.4 Ledger之HistoryDB
11.4.1 历史查询器
11.4.2 使用
第12章 chaincode智能合约案例分析
12.1 encc_example
12.1.1 chaincode代码分析
12.1.2 使用EncCC
12.2 eventsender
12.3 example01
12.4 example02
12.5 example03
12.6 example04
12.7 example05
12.8 invokereturnsvalue
12.9 map
12.10 marbles02
12.11 passthru
12.12 sleeper
第13章 Fabric-samples项目分析与实践
13.1 Fabric-samples项目结构
13.2 First-network
13.2.1 安装预置环境
13.2.2 想要现在运行吗?
13.2.3 生成网络神器
13.2.4 启动网络
13.2.5 关闭网络
13.2.6 加密生成器
13.2.7 配置交易生成器
13.2.8 运行工具
13.2.9 启动网络
13.2.10 了解Docker Compose技术
13.2.11 使用CouchDB
13.2.12 关于数据持久化的提示
13.2.13 故障排除
13.3 basic-network
13.4 Fabcar
13.4.1 编写第一个应用
13.4.2 下载测试网络(Getting a Test Network)
13.4.3 应用程序如何与网络进行交互
13.4.4 查询账本
13.4.5 更新账本
13.5 Balance transfer
13.5.1 预置环境
13.5.2 工件
13.5.3 运行示例程序
13.5.4 示例——REST APIs请求
13.6 Hyperledger Fabric CA示例
13.6.1 运行这个示例
13.6.2 了解这个例子
13.7 高性能网络
13.7.1 用例
13.7.2 如何使用
第14章 部署教程
14.1 下载部署环境
14.2 编译peer、orderer、configtxgen等程序
14.3 部署
14.4 Crypto Generator
14.4.1 crypto-config.yaml
14.4.2 crypto-config文件夹
14.5 Configuration Transaction Generator
14.6 networkUp-启动Fabric网络
14.7 运行容器+区域链操作
附录 专业术语
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜