区块链原理、设计与应用

区块链原理、设计与应用
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: ,
2017-09
版次: 1
ISBN: 9787111577829
定价: 89.00
装帧: 平装
开本: 16开
纸张: 胶版纸
239人买过
  •   本书由超级账本核心设计和开发者撰写,是区块链开发落地专业指南。由浅入深、系统化介绍超级账本Fabric设计精华、应用开发等。全书分为理论篇和实践篇两大部分;第1~3章介绍区块链技术的由来、核心思想及典型的应用场景;第4~5章重点介绍区块链技术中大量出现的分布式系统技术和密码学安全技术;第6~8章介绍区块链领域的三个典型开源项目:比特币、以太坊以及超级账本;第9-11章以超级账本Fabric项目为例,具体讲解了安装部署、配置管理,以及使用 Fabric CA 进行证书管理的实践经验;第12章重点剖析超级账本Fabric项目的核心架构设计;第13章介绍区块链应用开发的相关技巧和示例;第14章介绍区块链服务平台的设计与开发,并讲解应用超级账本Cello项目构建服务平台的相关知识。本书覆盖了区块链和分布式账本领域的*新技术,可帮助读者深入理解区块链核心原理和典型设计实现,以及高效地开发基于区块链平台的分布式应用。 

      杨保华:博士,毕业于清华大学。超级账本(Hyperledger)大中华区技术工作组主席,IBM大中华区Blockchain技术社区首席顾问,资深研究员。曾主持多个大规模系统平台的架构设计和研发实施,是区块链、云计算、大数据等技术的早期研究者和实践者。他热爱开源技术,曾贡献OpenStack、OpenDaylight等开源项目,是超级账本Fabric项目核心设计和开发者,也是Cello和Fabric-SDK-Py项目的发起人。个人主页为https://yeasy.github.com。 
      陈昌:毕业于清华大学。纸贵科技CTO,曾任IBM高级研究员。技术方向包括云计算、区块链、机器学习等。他是区块链技术的早期研究和推动者,是超级账本(Hyperledger)项目核心开发者。他有丰富的区块链应用实践经验,曾负责金融行业区块链解决方案的架构设计和实施,并主导开发了若干区块链服务平台。 

    序 言 
    前 言 
    理 论 篇 
    第1章 区块链思想的诞生  2 
    1.1 从实体货币到数字货币  2 
    1.2 站在巨人的肩膀上  5 
    1.3 了不起的社会学实验  5 
    1.4 潜在的商业价值  7 
    1.5 本章小结  8 
    第2章 核心技术概览  9 
    2.1 定义与原理  9 
    2.2 技术的演化与分类  11 
    2.3 关键问题和挑战  13 
    2.4 趋势与展望  17 
    2.5 认识上的误区  19 
    2.6 本章小结  19 
    第3章 典型应用场景  20 
    3.1 应用场景概览  20 
    3.2 金融服务  22 
    3.2.1 银行业金融管理  22 
    3.2.2 证券交易  24 
    3.2.3 众筹投资  25 
    3.3 征信和权属管理  26 
    3.4 资源共享  28 
    3.5 贸易管理  29 
    3.6 物联网  30 
    3.7 其他场景  31 
    3.8 本章小结  33 
    第4章 分布式系统核心问题  34 
    4.1 一致性问题  34 
    4.1.1 定义与重要性  34 
    4.1.2 问题与挑战  35 
    4.1.3 一致性要求  36 
    4.1.4 带约束的一致性  36 
    4.2 共识算法  37 
    4.2.1 问题与挑战  38 
    4.2.2 常见算法  38 
    4.2.3 理论界限  38 
    4.3 FLP 不可能原理  39 
    4.3.1 定义  39 
    4.3.2 正确理解  39 
    4.4 CAP 原理  40 
    4.4.1 定义  40 
    4.4.2 应用场景  41 
    4.5 ACID 原则  41 
    4.6 Paxos 算法与 Raft 算法  42 
    4.6.1 Paxos 算法  42 
    4.6.2 Raft 算法  45 
    4.7 拜占庭问题与算法  45 
    4.8 可靠性指标  48 
    4.8.1 几个 9 的指标  48 
    4.8.2 两个核心时间  49 
    4.8.3 提高可靠性  49 
    4.9 本章小结  49 
    第5章 密码学与安全技术  50 
    5.1 Hash 算法与数字摘要  50 
    5.1.1 Hash定义  50 
    5.1.2 常见算法  51 
    5.1.3 性能  51 
    5.1.4 数字摘要  52 
    5.1.5 Hash 攻击与防护  52 
    5.2 加解密算法  52 
    5.2.1 加解密系统基本组成  53 
    5.2.2 对称加密算法  53 
    5.2.3 非对称加密算法  54 
    5.2.4 选择明文攻击  55 
    5.2.5 混合加密机制  56 
    5.2.6 离散对数与 Diffie–Hellman密钥交换协议  57 
    5.3 消息认证码与数字签名  57 
    5.3.1 消息认证码  58 
    5.3.2 数字签名  58 
    5.3.3 安全性  59 
    5.4 数字证书  59 
    5.4.1 X.509 证书规范  60 
    5.4.2 证书格式  61 
    5.4.3 证书信任链  62 
    5.5 PKI 体系  63 
    5.5.1 PKI 基本组件  63 
    5.5.2 证书的签发  63 
    5.5.3 证书的撤销  66 
    5.6 Merkle树结构  66 
    5.7 布隆过滤器  67 
    5.8 同态加密  68 
    5.9 其他问题  70 
    5.10 本章小结  71 
    第6章 比特币——区块链思想诞生的摇篮  72 
    6.1 比特币项目简介  72 
    6.1.1 比特币大事记  73 
    6.1.2 其他数字货币  74 
    6.2 原理和设计  75 
    6.2.1 基本交易过程  75 
    6.2.2 重要概念  76 
    6.2.3 创新设计  78 
    6.3 挖矿  80 
    6.3.1 基本原理  80 
    6.3.2 挖矿过程  81 
    6.3.3 如何看待挖矿  81 
    6.4 共识机制  82 
    6.4.1 工作量证明  82 
    6.4.2 权益证明  83 
    6.5 闪电网络  83 
    6.6 侧链  85 
    6.6.1 SPV 证明  85 
    6.6.2 双向挂钩  86 
    6.6.3 最新进展  87 
    6.7 热点问题  87 
    6.7.1 设计中的权衡  87 
    6.7.2 分叉  87 
    6.7.3 交易延展性  88 
    6.7.4 扩容之争  89 
    6.7.5 比特币的监管和追踪  90 
    6.8 相关工具  91 
    6.9 本章小结  92 
    第7章 以太坊——挣脱数字货币的枷锁  93 
    7.1 以太坊项目简介  93 
    7.1.1 以太坊项目简史  94 
    7.1.2 主要特点  95 
    7.2 核心概念  95 
    7.3 主要设计  97 
    7.3.1 智能合约相关设计  97 
    7.3.2 交易模型  97 
    7.3.3 共识  97 
    7.3.4 降低攻击  98 
    7.3.5 提高扩展性  98 
    7.4 相关工具  98 
    7.4.1 客户端和开发库  98 
    7.4.2 以太坊钱包  99 
    7.4.3 IDE  100 
    7.4.4 网站资源  100 
    7.5 安装客户端  100 
    7.5.1 从 PPA 直接安装  100 
    7.5.2 从源码编译  101 
    7.6 使用智能合约  102 
    7.6.1 搭建测试用区块链  102 
    7.6.2 创建和编译智能合约  104 
    7.6.3 部署智能合约  105 
    7.6.4 调用智能合约  106 
    7.7 智能合约案例:投票  106 
    7.7.1 智能合约代码  107 
    7.7.2 代码解析  109 
    7.8 本章小结  111 
    第8章 超级账本——面向企业的分布式账本  112 
    8.1 超级账本项目简介  112 
    8.2 社区组织结构  114 
    8.2.1 基本结构  114 
    8.2.2 大中华区技术工作组  114 
    8.3 顶级项目介绍  115 
    8.3.1 Fabric 项目  116 
    8.3.2 Sawtooth 项目  117 
    8.3.3 Iroha 项目  117 
    8.3.4 Blockchain Explorer 项目  117 
    8.3.5 Cello 项目  118 
    8.3.6 Indy 项目  118 
    8.3.7 Composer 项目  118 
    8.3.8 Burrow 项目  119 
    8.4 开发必备工具  119 
    8.4.1 Linux Foundation ID  119 
    8.4.2 Jira——任务和进度管理  119 
    8.4.3 Gerrit——代码仓库和 Review管理  120 
    8.4.4 RocketChat——在线沟通  121 
    8.5 贡献代码  121 
    8.6 本章小结  126 
    实 践 篇 
    第9章 超级账本 Fabric 部署和使用  128 
    9.1 简介  128 
    9.2 本地编译安装  129 
    9.2.1 操作系统  130 
    9.2.2 环境配置  130 
    9.2.3 获取代码  131 
    9.2.4 编译安装 fabric-peer 组件  131 
    9.2.5 编译安装 fabric-orderer 组件  132 
    9.2.6 编译安装 fabric-ca 组件  133 
    9.2.7 编译安装辅助工具  133 
    9.2.8 获取 chaintool  133 
    9.2.9 安装Go语言相关工具  134 
    9.2.10 示例配置  134 
    9.3 使用 Docker 镜像  134 
    9.3.1 安装 Docker 服务  134 
    9.3.2 安装 docker-compose  135 
    9.3.3 获取 Docker 镜像  135 
    9.3.4 镜像 Dockerfile  138 
    9.4 启动 Fabric 网络  143 
    9.4.1 网络拓扑  143 
    9.4.2 准备相关配置文件  144 
    9.4.3 启动 Orderer 节点  150 
    9.4.4 启动 Peer 节点  151 
    9.4.5 操作网络  152 
    9.4.6 基于容器方式  156 
    9.5 链码的概念与使用  157 
    9.5.1 链码操作命令  158 
    9.5.2 命令参数  158 
    9.5.3 安装链码  159 
    9.5.4 实例化链码  162 
    9.5.5 调用链码  165 
    9.5.6 查询链码  167 
    9.5.7 升级链码  168 
    9.5.8 打包链码和签名  169 
    9.6 使用多通道  170 
    9.6.1 通道操作命令  170 
    9.6.2 命令选项  171 
    9.6.3 创建通道  172 
    9.6.4 加入通道  174 
    9.6.5 列出所加入的通道  175 
    9.6.6 获取某区块  176 
    9.6.7 更新通道配置  177 
    9.7 SDK 支持  178 
    9.8 生产环境注意事项  179 
    9.9 本章小结  181 
    第10章 超级账本 Fabric 配置管理  182 
    10.1 简介  182 
    10.1.1 配置文件  182 
    10.1.2 配置管理工具  183 
    10.2 Peer 配置剖析  183 
    10.2.1 logging部分  184 
    10.2.2 peer部分  184 
    10.2.3 vm部分  188 
    10.2.4 chaincode部分  189 
    10.2.5 ledger部分  190 
    10.3 Orderer 配置剖析  191 
    10.4 cryptogen 生成组织身份配置  194 
    10.4.1 配置文件  195 
    10.4.2 子命令和参数  196 
    10.4.3 生成密钥和证书文件  196 
    10.4.4 查看配置模板信息  198 
    10.5 configtxgen 生成通道配置  199 
    10.5.1 configtx.yaml配置文件  199 
    10.5.2 命令选项  203 
    10.5.3 生成Orderer初始区块并进行查看  203 
    10.5.4 生成新建通道交易文件并进行查看  211 
    10.5.5 生成锚节点更新交易文件  215 
    10.6 configtxlator 转换配置  215 
    10.6.1 RESTful接口  215 
    10.6.2 解码为Json格式  216 
    10.6.3 编码为二进制格式  217 
    10.6.4 计算配置更新量  217 
    10.6.5 更新通道配置  218 
    10.7 本章小结  219 
    第11章 超级账本 Fabric CA 应用与配置  220 
    11.1 简介  220 
    11.2 安装服务端和客户端  221 
    11.2.1 本地编译  221 
    11.2.2 获取和使用Docker镜像  223 
    11.2.3 示例Dockerfile  223 
    11.3 启动 CA 服务  225 
    11.4 服务端命令剖析  228 
    11.4.1 全局命令参数  228 
    11.4.2 init命令  230 
    11.4.3 start命令  230 
    11.5 服务端配置文件解析  231 
    11.6 与服务端进行交互  235 
    11.7 客户端命令剖析  237 
    11.7.1 全局命令参数  237 
    11.7.2 enroll命令  239 
    11.7.3 getcacert命令  240 
    11.7.4 reenroll命令  241 
    11.7.5 register命令  241 
    11.7.6 revoke命令  242 
    11.8 客户端配置文件解析  243 
    11.9 生产环境部署  245 
    11.10 本章小结  247 
    第12章 超级账本 Fabric 架构与设计  248 
    12.1 整体架构概览  248 
    12.1.1 核心特性  248 
    12.1.2 整体架构  249 
    12.1.3 典型工作流程  249 
    12.2 核心概念与组件  251 
    12.2.1 网络层相关组件  252 
    12.2.2 共识相关组件  254 
    12.2.3 权限管理相关组件  255 
    12.2.4 业务层相关组件  257 
    12.3 gRPC 消息协议  262 
    12.3.1 Envelope消息结构  262 
    12.3.2 客户端访问Peer节点  263 
    12.3.3 客户端、Peer节点访问Orderer  265 
    12.3.4 链码容器和Peer节点之间的操作  265 
    12.3.5 多个节点之间的操作  266 
    12.4 权限管理和策略  267 
    12.4.1 策略应用场景  267 
    12.4.2 身份证书  268 
    12.4.3 权限策略的实现  268 
    12.4.4 通道策略  272 
    12.4.5 背书策略  273 
    12.4.6 实例化策略  273 
    12.5 用户链码  274 
    12.5.1 基本结构  274 
    12.5.2 链码与Peer的交互过程  275 
    12.5.3 链码处理状态机  277 
    12.6 系统链码  279 
    12.7 排序服务  281 
    12.7.1 gRPC服务接口  282 
    12.7.2 链和账本管理  283 
    12.7.3 通道配置更新  284 
    12.7.4 共识插件  286 
    12.8 本章小结  288 
    第13章 区块链应用开发  290 
    13.1 简介  290 
    13.2 链码的原理、接口与结构  292 
    13.2.1 Chaincode接口  292 
    13.2.2 链码结构  293 
    13.2.3 链码基本工作原理  294 
    13.3 链码开发 API  295 
    13.3.1 账本状态交互API  296 
    13.3.2 交易信息相关API  296 
    13.3.3 参数读取API  297 
    13.3.4 其他API  297 
    13.4 应用开发案例一:转账  298 
    13.4.1 链码结构  298 
    13.4.2 Init方法  299 
    13.4.3 Invoke方法  300 
    13.5 应用开发案例二:资产权属管理  301 
    13.5.1 链码结构  301 
    13.5.2 Invoke方法  303 
    13.6 应用开发案例三:调用其他链码  312 
    13.7 应用开发案例四:发送事件  313 
    13.8 开发最佳实践小结  314 
    13.9 本章小结  316 
    第14章 区块链服务平台设计  317 
    14.1 简介  317 
    14.1.1 参考架构  318 
    14.1.2 考量指标  318 
    14.2 IBM Bluemix 云区块链服务  319 
    14.3 微软 Azure 云区块链服务  321 
    14.4 使用超级账本 Cello 搭建区块链服务  324 
    14.4.1 基本架构和特性  324 
    14.4.2 环境准备  325 
    14.4.3 下载Cello源码  325 
    14.4.4 配置Worker节点  325 
    14.4.5 配置Master节点  326 
    14.4.6 使用Cello管理区块链  327 
    14.4.7 基于Cello进行功能扩展  330 
    14.5 本章小结  330 
    附  录 
    附录A 术语表  334 
    附录B 常见问题解答  338 
    附录C Golang 开发相关  342 
    附录D ProtoBuf 与 gRPC  349 
    附录E 参考资源  353 

  • 内容简介:
      本书由超级账本核心设计和开发者撰写,是区块链开发落地专业指南。由浅入深、系统化介绍超级账本Fabric设计精华、应用开发等。全书分为理论篇和实践篇两大部分;第1~3章介绍区块链技术的由来、核心思想及典型的应用场景;第4~5章重点介绍区块链技术中大量出现的分布式系统技术和密码学安全技术;第6~8章介绍区块链领域的三个典型开源项目:比特币、以太坊以及超级账本;第9-11章以超级账本Fabric项目为例,具体讲解了安装部署、配置管理,以及使用 Fabric CA 进行证书管理的实践经验;第12章重点剖析超级账本Fabric项目的核心架构设计;第13章介绍区块链应用开发的相关技巧和示例;第14章介绍区块链服务平台的设计与开发,并讲解应用超级账本Cello项目构建服务平台的相关知识。本书覆盖了区块链和分布式账本领域的*新技术,可帮助读者深入理解区块链核心原理和典型设计实现,以及高效地开发基于区块链平台的分布式应用。 

  • 作者简介:
      杨保华:博士,毕业于清华大学。超级账本(Hyperledger)大中华区技术工作组主席,IBM大中华区Blockchain技术社区首席顾问,资深研究员。曾主持多个大规模系统平台的架构设计和研发实施,是区块链、云计算、大数据等技术的早期研究者和实践者。他热爱开源技术,曾贡献OpenStack、OpenDaylight等开源项目,是超级账本Fabric项目核心设计和开发者,也是Cello和Fabric-SDK-Py项目的发起人。个人主页为https://yeasy.github.com。 
      陈昌:毕业于清华大学。纸贵科技CTO,曾任IBM高级研究员。技术方向包括云计算、区块链、机器学习等。他是区块链技术的早期研究和推动者,是超级账本(Hyperledger)项目核心开发者。他有丰富的区块链应用实践经验,曾负责金融行业区块链解决方案的架构设计和实施,并主导开发了若干区块链服务平台。 

  • 目录:
    序 言 
    前 言 
    理 论 篇 
    第1章 区块链思想的诞生  2 
    1.1 从实体货币到数字货币  2 
    1.2 站在巨人的肩膀上  5 
    1.3 了不起的社会学实验  5 
    1.4 潜在的商业价值  7 
    1.5 本章小结  8 
    第2章 核心技术概览  9 
    2.1 定义与原理  9 
    2.2 技术的演化与分类  11 
    2.3 关键问题和挑战  13 
    2.4 趋势与展望  17 
    2.5 认识上的误区  19 
    2.6 本章小结  19 
    第3章 典型应用场景  20 
    3.1 应用场景概览  20 
    3.2 金融服务  22 
    3.2.1 银行业金融管理  22 
    3.2.2 证券交易  24 
    3.2.3 众筹投资  25 
    3.3 征信和权属管理  26 
    3.4 资源共享  28 
    3.5 贸易管理  29 
    3.6 物联网  30 
    3.7 其他场景  31 
    3.8 本章小结  33 
    第4章 分布式系统核心问题  34 
    4.1 一致性问题  34 
    4.1.1 定义与重要性  34 
    4.1.2 问题与挑战  35 
    4.1.3 一致性要求  36 
    4.1.4 带约束的一致性  36 
    4.2 共识算法  37 
    4.2.1 问题与挑战  38 
    4.2.2 常见算法  38 
    4.2.3 理论界限  38 
    4.3 FLP 不可能原理  39 
    4.3.1 定义  39 
    4.3.2 正确理解  39 
    4.4 CAP 原理  40 
    4.4.1 定义  40 
    4.4.2 应用场景  41 
    4.5 ACID 原则  41 
    4.6 Paxos 算法与 Raft 算法  42 
    4.6.1 Paxos 算法  42 
    4.6.2 Raft 算法  45 
    4.7 拜占庭问题与算法  45 
    4.8 可靠性指标  48 
    4.8.1 几个 9 的指标  48 
    4.8.2 两个核心时间  49 
    4.8.3 提高可靠性  49 
    4.9 本章小结  49 
    第5章 密码学与安全技术  50 
    5.1 Hash 算法与数字摘要  50 
    5.1.1 Hash定义  50 
    5.1.2 常见算法  51 
    5.1.3 性能  51 
    5.1.4 数字摘要  52 
    5.1.5 Hash 攻击与防护  52 
    5.2 加解密算法  52 
    5.2.1 加解密系统基本组成  53 
    5.2.2 对称加密算法  53 
    5.2.3 非对称加密算法  54 
    5.2.4 选择明文攻击  55 
    5.2.5 混合加密机制  56 
    5.2.6 离散对数与 Diffie–Hellman密钥交换协议  57 
    5.3 消息认证码与数字签名  57 
    5.3.1 消息认证码  58 
    5.3.2 数字签名  58 
    5.3.3 安全性  59 
    5.4 数字证书  59 
    5.4.1 X.509 证书规范  60 
    5.4.2 证书格式  61 
    5.4.3 证书信任链  62 
    5.5 PKI 体系  63 
    5.5.1 PKI 基本组件  63 
    5.5.2 证书的签发  63 
    5.5.3 证书的撤销  66 
    5.6 Merkle树结构  66 
    5.7 布隆过滤器  67 
    5.8 同态加密  68 
    5.9 其他问题  70 
    5.10 本章小结  71 
    第6章 比特币——区块链思想诞生的摇篮  72 
    6.1 比特币项目简介  72 
    6.1.1 比特币大事记  73 
    6.1.2 其他数字货币  74 
    6.2 原理和设计  75 
    6.2.1 基本交易过程  75 
    6.2.2 重要概念  76 
    6.2.3 创新设计  78 
    6.3 挖矿  80 
    6.3.1 基本原理  80 
    6.3.2 挖矿过程  81 
    6.3.3 如何看待挖矿  81 
    6.4 共识机制  82 
    6.4.1 工作量证明  82 
    6.4.2 权益证明  83 
    6.5 闪电网络  83 
    6.6 侧链  85 
    6.6.1 SPV 证明  85 
    6.6.2 双向挂钩  86 
    6.6.3 最新进展  87 
    6.7 热点问题  87 
    6.7.1 设计中的权衡  87 
    6.7.2 分叉  87 
    6.7.3 交易延展性  88 
    6.7.4 扩容之争  89 
    6.7.5 比特币的监管和追踪  90 
    6.8 相关工具  91 
    6.9 本章小结  92 
    第7章 以太坊——挣脱数字货币的枷锁  93 
    7.1 以太坊项目简介  93 
    7.1.1 以太坊项目简史  94 
    7.1.2 主要特点  95 
    7.2 核心概念  95 
    7.3 主要设计  97 
    7.3.1 智能合约相关设计  97 
    7.3.2 交易模型  97 
    7.3.3 共识  97 
    7.3.4 降低攻击  98 
    7.3.5 提高扩展性  98 
    7.4 相关工具  98 
    7.4.1 客户端和开发库  98 
    7.4.2 以太坊钱包  99 
    7.4.3 IDE  100 
    7.4.4 网站资源  100 
    7.5 安装客户端  100 
    7.5.1 从 PPA 直接安装  100 
    7.5.2 从源码编译  101 
    7.6 使用智能合约  102 
    7.6.1 搭建测试用区块链  102 
    7.6.2 创建和编译智能合约  104 
    7.6.3 部署智能合约  105 
    7.6.4 调用智能合约  106 
    7.7 智能合约案例:投票  106 
    7.7.1 智能合约代码  107 
    7.7.2 代码解析  109 
    7.8 本章小结  111 
    第8章 超级账本——面向企业的分布式账本  112 
    8.1 超级账本项目简介  112 
    8.2 社区组织结构  114 
    8.2.1 基本结构  114 
    8.2.2 大中华区技术工作组  114 
    8.3 顶级项目介绍  115 
    8.3.1 Fabric 项目  116 
    8.3.2 Sawtooth 项目  117 
    8.3.3 Iroha 项目  117 
    8.3.4 Blockchain Explorer 项目  117 
    8.3.5 Cello 项目  118 
    8.3.6 Indy 项目  118 
    8.3.7 Composer 项目  118 
    8.3.8 Burrow 项目  119 
    8.4 开发必备工具  119 
    8.4.1 Linux Foundation ID  119 
    8.4.2 Jira——任务和进度管理  119 
    8.4.3 Gerrit——代码仓库和 Review管理  120 
    8.4.4 RocketChat——在线沟通  121 
    8.5 贡献代码  121 
    8.6 本章小结  126 
    实 践 篇 
    第9章 超级账本 Fabric 部署和使用  128 
    9.1 简介  128 
    9.2 本地编译安装  129 
    9.2.1 操作系统  130 
    9.2.2 环境配置  130 
    9.2.3 获取代码  131 
    9.2.4 编译安装 fabric-peer 组件  131 
    9.2.5 编译安装 fabric-orderer 组件  132 
    9.2.6 编译安装 fabric-ca 组件  133 
    9.2.7 编译安装辅助工具  133 
    9.2.8 获取 chaintool  133 
    9.2.9 安装Go语言相关工具  134 
    9.2.10 示例配置  134 
    9.3 使用 Docker 镜像  134 
    9.3.1 安装 Docker 服务  134 
    9.3.2 安装 docker-compose  135 
    9.3.3 获取 Docker 镜像  135 
    9.3.4 镜像 Dockerfile  138 
    9.4 启动 Fabric 网络  143 
    9.4.1 网络拓扑  143 
    9.4.2 准备相关配置文件  144 
    9.4.3 启动 Orderer 节点  150 
    9.4.4 启动 Peer 节点  151 
    9.4.5 操作网络  152 
    9.4.6 基于容器方式  156 
    9.5 链码的概念与使用  157 
    9.5.1 链码操作命令  158 
    9.5.2 命令参数  158 
    9.5.3 安装链码  159 
    9.5.4 实例化链码  162 
    9.5.5 调用链码  165 
    9.5.6 查询链码  167 
    9.5.7 升级链码  168 
    9.5.8 打包链码和签名  169 
    9.6 使用多通道  170 
    9.6.1 通道操作命令  170 
    9.6.2 命令选项  171 
    9.6.3 创建通道  172 
    9.6.4 加入通道  174 
    9.6.5 列出所加入的通道  175 
    9.6.6 获取某区块  176 
    9.6.7 更新通道配置  177 
    9.7 SDK 支持  178 
    9.8 生产环境注意事项  179 
    9.9 本章小结  181 
    第10章 超级账本 Fabric 配置管理  182 
    10.1 简介  182 
    10.1.1 配置文件  182 
    10.1.2 配置管理工具  183 
    10.2 Peer 配置剖析  183 
    10.2.1 logging部分  184 
    10.2.2 peer部分  184 
    10.2.3 vm部分  188 
    10.2.4 chaincode部分  189 
    10.2.5 ledger部分  190 
    10.3 Orderer 配置剖析  191 
    10.4 cryptogen 生成组织身份配置  194 
    10.4.1 配置文件  195 
    10.4.2 子命令和参数  196 
    10.4.3 生成密钥和证书文件  196 
    10.4.4 查看配置模板信息  198 
    10.5 configtxgen 生成通道配置  199 
    10.5.1 configtx.yaml配置文件  199 
    10.5.2 命令选项  203 
    10.5.3 生成Orderer初始区块并进行查看  203 
    10.5.4 生成新建通道交易文件并进行查看  211 
    10.5.5 生成锚节点更新交易文件  215 
    10.6 configtxlator 转换配置  215 
    10.6.1 RESTful接口  215 
    10.6.2 解码为Json格式  216 
    10.6.3 编码为二进制格式  217 
    10.6.4 计算配置更新量  217 
    10.6.5 更新通道配置  218 
    10.7 本章小结  219 
    第11章 超级账本 Fabric CA 应用与配置  220 
    11.1 简介  220 
    11.2 安装服务端和客户端  221 
    11.2.1 本地编译  221 
    11.2.2 获取和使用Docker镜像  223 
    11.2.3 示例Dockerfile  223 
    11.3 启动 CA 服务  225 
    11.4 服务端命令剖析  228 
    11.4.1 全局命令参数  228 
    11.4.2 init命令  230 
    11.4.3 start命令  230 
    11.5 服务端配置文件解析  231 
    11.6 与服务端进行交互  235 
    11.7 客户端命令剖析  237 
    11.7.1 全局命令参数  237 
    11.7.2 enroll命令  239 
    11.7.3 getcacert命令  240 
    11.7.4 reenroll命令  241 
    11.7.5 register命令  241 
    11.7.6 revoke命令  242 
    11.8 客户端配置文件解析  243 
    11.9 生产环境部署  245 
    11.10 本章小结  247 
    第12章 超级账本 Fabric 架构与设计  248 
    12.1 整体架构概览  248 
    12.1.1 核心特性  248 
    12.1.2 整体架构  249 
    12.1.3 典型工作流程  249 
    12.2 核心概念与组件  251 
    12.2.1 网络层相关组件  252 
    12.2.2 共识相关组件  254 
    12.2.3 权限管理相关组件  255 
    12.2.4 业务层相关组件  257 
    12.3 gRPC 消息协议  262 
    12.3.1 Envelope消息结构  262 
    12.3.2 客户端访问Peer节点  263 
    12.3.3 客户端、Peer节点访问Orderer  265 
    12.3.4 链码容器和Peer节点之间的操作  265 
    12.3.5 多个节点之间的操作  266 
    12.4 权限管理和策略  267 
    12.4.1 策略应用场景  267 
    12.4.2 身份证书  268 
    12.4.3 权限策略的实现  268 
    12.4.4 通道策略  272 
    12.4.5 背书策略  273 
    12.4.6 实例化策略  273 
    12.5 用户链码  274 
    12.5.1 基本结构  274 
    12.5.2 链码与Peer的交互过程  275 
    12.5.3 链码处理状态机  277 
    12.6 系统链码  279 
    12.7 排序服务  281 
    12.7.1 gRPC服务接口  282 
    12.7.2 链和账本管理  283 
    12.7.3 通道配置更新  284 
    12.7.4 共识插件  286 
    12.8 本章小结  288 
    第13章 区块链应用开发  290 
    13.1 简介  290 
    13.2 链码的原理、接口与结构  292 
    13.2.1 Chaincode接口  292 
    13.2.2 链码结构  293 
    13.2.3 链码基本工作原理  294 
    13.3 链码开发 API  295 
    13.3.1 账本状态交互API  296 
    13.3.2 交易信息相关API  296 
    13.3.3 参数读取API  297 
    13.3.4 其他API  297 
    13.4 应用开发案例一:转账  298 
    13.4.1 链码结构  298 
    13.4.2 Init方法  299 
    13.4.3 Invoke方法  300 
    13.5 应用开发案例二:资产权属管理  301 
    13.5.1 链码结构  301 
    13.5.2 Invoke方法  303 
    13.6 应用开发案例三:调用其他链码  312 
    13.7 应用开发案例四:发送事件  313 
    13.8 开发最佳实践小结  314 
    13.9 本章小结  316 
    第14章 区块链服务平台设计  317 
    14.1 简介  317 
    14.1.1 参考架构  318 
    14.1.2 考量指标  318 
    14.2 IBM Bluemix 云区块链服务  319 
    14.3 微软 Azure 云区块链服务  321 
    14.4 使用超级账本 Cello 搭建区块链服务  324 
    14.4.1 基本架构和特性  324 
    14.4.2 环境准备  325 
    14.4.3 下载Cello源码  325 
    14.4.4 配置Worker节点  325 
    14.4.5 配置Master节点  326 
    14.4.6 使用Cello管理区块链  327 
    14.4.7 基于Cello进行功能扩展  330 
    14.5 本章小结  330 
    附  录 
    附录A 术语表  334 
    附录B 常见问题解答  338 
    附录C Golang 开发相关  342 
    附录D ProtoBuf 与 gRPC  349 
    附录E 参考资源  353 

查看详情
相关图书 / 更多
区块链原理、设计与应用
区块链赋能:能源电力物资供应链数字化转型
华能能源交通产业控股有限公司
区块链原理、设计与应用
区块链金融
吴金旺 著;陈俊金、袁亮、陈俊金、袁亮、吴金旺 编
区块链原理、设计与应用
区块链技术的网络应用
赵冰 著
区块链原理、设计与应用
区块链技术、应用与知识产权保护
国家知识产权局专利局专利审查协作北京中心
区块链原理、设计与应用
区块链技术助推数字经济发展研究
袁峰,詹晖
区块链原理、设计与应用
区块链金融
张军欢
区块链原理、设计与应用
区块链法律实务
盈科律师事务所
区块链原理、设计与应用
区块链技术视域下的供应链相关问题研究
张晓莉;武文
区块链原理、设计与应用
区块链概论
沈言锦本书主编 谢剑虹 丛书主编
区块链原理、设计与应用
区块链原理与技术(第2版)
郑子彬 郑沛霖 陈嘉弛
区块链原理、设计与应用
区块链智能合约开发实战
江海、于洪伟、吴书博、孙劼、尹钧
区块链原理、设计与应用
区块链工程技术人员(中级)
人力资源社会保障部专业技术人员管理司
您可能感兴趣 / 更多
区块链原理、设计与应用
环境生态学(新2版21世纪环境类专业新编系列教材)
杨保华 编
区块链原理、设计与应用
区块链原理、设计与应用第2版
杨保华、陈昌 著
区块链原理、设计与应用
Docker技术入门与实战 第3版
杨保华 戴王剑 曹亚仑
区块链原理、设计与应用
Docker技术入门与实战 第2版
杨保华、戴王剑、曹亚仑 著
区块链原理、设计与应用
Docker 技术入门与实战
杨保华、戴王剑、曹亚仑 著
区块链原理、设计与应用
环境生态学(新1版)/21世纪高职高专环境类专业新编系列教材
杨保华、刘辉、赵美微 编
区块链原理、设计与应用
航天器制导、导航与控制
杨保华 著
区块链原理、设计与应用
神州七号飞船项目管理
杨保华 编
区块链原理、设计与应用
医药应用统计方法
杨保华 著