《区块链国产化实践指南:基于Fabric 2.0》是由人民邮电出版社出版的一本关于区块链方面的书籍,作者是王雅震,主要介绍了关于区块链、Fabric方面的知识内容,目前在区块链类书籍综合评分为:7.1分。
书籍介绍
区块链技术及应用开发编程,物联网区块链技术驱动金融,Fabric2.0深度剖析代码,结合实际项目案例进行由浅入深的系统化讲解,区块链国产化实践指南。
编辑推荐
自区块链上升为国家战略,我国各地、各部门着力于推动区块链技术和产业的创新发展,在新的技术革新和产业变革中积极应用区块链技术,不断完善区块链技术标准和产业发展规划。本书特点:
1.从浅入深的系统化讲解,适合从初级到高级相关技术人员。
2.深度剖析源码,使读者知其然,更知其所以然,轻松地进阶学习HyperledgerFabric技术,克服学习的难点。
3.从理论到实践,以HyperledgerFabric2.0为蓝本,结合自主可控技术国产化和万物互联的行业热点,以实际项目示例,扩展读者对
HyperledgerFabric技术的行业认知。
内容简介
本书以HyperledgerFabric2.0为蓝本,由浅入深地剖析底层源码,系统讲解Fabric2.0的技术框架、各个模块实现以及背后所蕴含的技术思想,并结合区块链国产化的当前发展,分析Fabric技术的国产化实践。本书主要分为三个部分,部分(第1~12章)介绍区块链和Fabric技术相关概念、Fabric2.0底层源码;第二部分(第13章)讲述如何部署Fabric2.0,包括使用Kubernetes进行部署;第三部分(第14~17章)融合自主可控技术国产化趋势,结合“5G物联网”等区块链国内应用场景,通过实际应用分析Fabric技术的国产化实践。
无论是对区块链感兴趣,想要入门Fabric技术的新手,还是初涉Fabric技术,需要通过源码深入理解并使用该技术的区块链行业从业者,抑或是对区块链国产化实践有需求,需要实践案例参考的区块链国产化践行者,都能从本书中获益。
作者简介
王雅震,目前就职于北京微芯区块链与边缘计算研究院,任区块链高级开发工程师,从事区块链硬件加速和隐私计算相关的研发工作,具有8年研发经验。
目录
- 第1章Fabric概述1
- 1.1Fabric核心概念1
- 1.2Fabric经典网络架构3
- 1.3Fabric经典交易流程4
- 1.4Fabric项目源码目录结构5
- 第2章Fabric中的配置7
- 2.1配置的形式7
- 2.2网络配置9
- 2.3应用通道配置10
- 2.4peer节点配置13
- 2.5orderer节点配置16
- 2.6MSP配置17
- 第3章成员服务提供者(MSP)21
- 3.1MSP的类型和关联21
- 3.2本地MSP24
- 3.2.1MSP的初始化25
- 3.2.2MSP的使用28
- 3.3多通道下的MSP管理者30
- 第4章加密服务提供者(BCCSP)32
- 4.1BCCSP初始化33
- 4.1.1BCCSP的条件编译33
- 4.1.2默认类型SWBCCSP33
- 4.1.3公钥加密标准类型PKCS11BCCSP34
- 4.2BCCSP的使用36
- 4.2.1签名方法36
- 4.2.2验签方法37
- 第5章身份对象38
- 5.1身份对象的初始化38
- 5.1.1公开身份对象38
- 5.1.2签名身份对象39
- 5.1.3序列化身份对象40
- 5.2身份对象的使用40
- 5.2.1公开身份的使用40
- 5.2.2签名身份的使用41
- 5.2.3序列化身份的使用41
- 第6章策略43
- 6.1MSP主体43
- 6.2策略的类型44
- 6.2.1签名策略45
- 6.2.2隐式元策略46
- 6.3策略对象48
- 6.4签名策略对象48
- 6.4.1签名策略分析器48
- 6.4.2签名策略评估员49
- 6.4.3身份反序列化工具50
- 6.4.4接口实现51
- 6.5隐式元策略对象51
- 6.5.1隐式元策略分析器51
- 6.5.2接口实现51
- 6.6策略管理员52
- 6.7策略检查器53
- 6.8策略的层级54
- 6.9策略的使用55
- 6.9.1通道策略55
- 6.9.2背书策略56
- 6.9.3ACL策略58
- 第7章账本60
- 7.1账本的配置60
- 7.2账本的结构61
- 7.3区块链数据结构62
- 7.4私有数据结构64
- 7.5账本对象的层级66
- 7.6账本数据的存储流程67
- 7.7块存储对象70
- 7.7.1状态数据库70
- 7.7.2blockfile的管理71
- 7.7.3简化块文件存储77
- 7.8私有数据存储对象77
- 7.9账本存储对象81
- 7.10节点账本对象和账本管理者对象82
- 7.10.1交易管理工具83
- 7.10.2历史状态数据库96
- 7.10.3账本初始化工具97
- 7.10.4节点账本对象99
- 7.10.5节点账本管理对象104
- 第8章通道106
- 8.1通道的配置107
- 8.2系统通道的启动109
- 8.3应用通道的启动112
- 8.4加入应用通道118
- 第9章通道服务124
- 9.1基础gRPC网络通信服务124
- 9.1.1Fabric对gRPC的封装124
- 9.1.2服务通信功能125
- 9.2背书服务endorse127
- 9.2.1服务功能和原型定义127
- 9.2.2服务流程128
- 9.3原子广播服务AtomicBroadcast136
- 9.3.1服务功能和原型定义136
- 9.3.2服务流程138
- 9.4共识排序服务etcdraft145
- 9.4.1etcdraft共识网络的拓扑结构150
- 9.4.2etcdraft共识网络的配置和启动150
- 9.4.3etcdraft共识网络的服务流程156
- 9.5散播服务gossip161
- 9.5.1服务功能和原型定义162
- 9.5.2服务的配置和启动163
- 9.5.3服务流程169
- 9.6发现服务discovery177
- 9.6.1服务配置和原型定义177
- 9.6.2服务流程178
- 9.7操作服务operation180
- 9.7.1服务配置和原型定义182
- 9.7.2服务流程182
- 第10章通道配置更新和交易验证184
- 10.1通道配置更新流程184
- 10.2交易验证流程192
- 10.2.1TLS连接验证192
- 10.2.2身份认证195
- 10.2.3多版本并发控制验证203
- 10.2.4版本能力验证204
- 第11章Fabric区块链网络核心节点207
- 11.1peer节点207
- 11.1.1peer程序的命令结构207
- 11.1.2peer节点的启动过程211
- 11.2orderer节点212
- 11.2.1orderer程序的命令结构213
- 11.2.2orderer节点的启动过程213
- 11.3第三方节点215
- 11.3.1ZooKeeper、Kafka节点和共识排序服务215
- 11.3.2CouchDB节点与状态数据库217
- 第12章链码生命周期管理219
- 12.1系统链码220
- 12.1.1系统链码的类型和功能220
- 12.1.2系统链码的初始化220
- 12.2应用链码225
- 12.2.1应用链码与系统链码的关系225
- 12.2.2应用链码与容器的关系225
- 12.2.3应用链码的安装交易过程229
- 12.2.4应用链码的实例化交易过程237
- 12.2.5应用链码的升级交易过程246
- 12.2.6应用链码作为外部服务246
- 第13章Fabric区块链网络部署253
- 13.1FabricSDK253
- 13.1.1FabricSDK的分类253
- 13.1.2FabricSDK在Fabric区块链网络中的角色253
- 13.2Fabric镜像254
- 13.2.1Fabric区块链网络中的核心镜像254
- 13.2.2获取Fabric核心镜像255
- 13.3Fabric的编译255
- 13.3.1编译工程文件Makefile255
- 13.3.2编译Fabric项目工程256
- 13.4官方示例fabric-samples257
- 13.4.1fabric-samples的结构257
- 13.4.2部署first-network258
- 13.4.3扩展first-network262
- 13.4.4以Kubernetes为容器,部署first-network262
- 第14章国内区块链技术的发展270
- 14.1区块链技术应用发展趋势浅析270
- 14.2区块链技术与网络信息安全273
- 14.3区块链技术与自主可控276
- 14.4Fabric的发展与自主可控278
- 第15章Fabric的国产化之路280
- 15.1超级账本社区与中国的桥梁280
- 15.2加解密算法领域的国产化实践280
- 15.2.1应用国密算法的重要性280
- 15.2.2Fabric应用国密算法的难点和方向281
- 15.2.3Fabric国密改造实践283
- 15.3性能优化领域的国产化实践298
- 15.3.1Fabric性能模型分析298
- 15.3.2已做的性能优化301
- 15.3.3打造高性能交易数据模型302
- 15.3.4性能优化的方向性实践303
- 第16章BaaS平台的应用实践313
- 16.1BaaS平台的特性与应用场景313
- 16.2BaaS平台架构设计实践318
- 16.3BaaS平台开发实践320
- 16.3.1部署负载均衡层321
- 16.3.2接口层323
- 16.3.3资源编排层324
- 16.3.4执行层327
- 16.3.5消息队列328
- 第17章当Fabric遇上树莓派331
- 17.1区块链与物联网发展的融合331
- 17.2树莓派参与的Fabric区块链网络架构333
- 17.3搭建树莓派参与的Fabric开发环境336
- 17.4部署树莓派参与的Fabric区块链网络339
- 17.5Fabric物联网的应用场景341