具体描述
本书以HyperledgerFabric和比特币这两个典型区块链技术平台的核心技术、开发方法和相关的项目案例为核心内容,还提供了大量的命令脚本和代码示例供读者参考,力图使读者在短的时间内掌握这两个平台的使用方法。本书首先从基本认识的角度对区块链进行了宏观上的介绍,然后讲解了HyperledgerFabric的核心技术、原理、开发方法,以及多个项目案例,后讲解了比特币的原理、运行方式、重要模块和编程接口等内容,环环相扣,结构紧密,体系严谨。
作者简介
冯翔
资深区块链技术专家, IONChain(离子链)CTO,上海旺链科技区块链研究院负责人,Hyperledger核心项目核心代码开发者。中国区块链技术的早期探索者和传播者,创立了有广泛影响力的区块链技术社区“区块链兄弟”。已经参与过多个基于区块链技术的落地项目,现在阶段主要致力于区块链技术和传统行业的融合,尤其关注区块链技术和物联网技术的结合。
刘涛
上海旺链信息科技有限公司CEO,IONChain(离子链)创始人,致力于结合中国本土情况的区块链研究开发,现为复旦大学区块链研究生课程讲师。前埃森哲高级总监,在高科技制造、汽车、金融行业有超过15年的业务咨询和技术架构经验,曾担任华为、Alcatel-lucent、上汽通用、平安、中国移动高端外部顾问。
吴寿鹤
资深区块链技术专家, IONChain(离子链)首席架构师,HyperLedger核心项目开发人员,同时对以太坊相关技术有深入研究。是国内区块链技术领域的早期实践者和布道者,一直积极推动区块链技术的传播和应用落地,是国内知名区块链技术社区“区块链兄弟”的联合创始人,目前从事基于物联网的区块链底层基础平台的开发。
个人主页:http://gcc2ge.github.io
周广益
上海指旺金科CEO,中国区块链技术的早期探索者,36Kr、未央网、共享财经等媒体特约作家,现为复旦大学软件学院特聘讲师。
目录信息
1.1 区块链技术的起源和解释 1
1.2 区块链的核心技术及其特性 2
1.2.1 区块链技术的特性 3
1.2.2 区块链的分布式存储技术特性 3
1.2.3 区块链的密码学技术特性 4
1.2.4 区块链中的共识机制 8
1.2.5 区块链中的智能合约 12
1.3 区块链技术演进过程 13
1.4 区块链技术的3个缺点 13
1.5 区块链技术常见的4个错误认识 14
1.6 区块链技术的应用领域 15
1.6.1 区块链在金融行业的应用 15
1.6.2 区块链在供应链中的应用 16
1.6.3 区块链在公证领域的应用 17
1.6.4 区块链在数字版权领域的应用 18
1.6.5 区块链在保险行业的应用 19
1.6.6 区块链在公益慈善领域的应用 21
1.6.7 区块链与智能制造 22
1.6.8 区块链在教育就业中的应用 23
1.7 区块链的其他常见技术框架 24
1.8 本章小结 25
第2章 实战准备 26
2.1 开发环境准备 26
2.1.1 操作系统的配置 26
2.1.2 Docker的使用 27
2.1.3 Git的使用 30
2.2 开发语言 30
2.2.1 GO语言 30
2.2.2 Node.js 32
2.3 常用工具 32
2.3.1 Curl 32
2.3.2 tree 33
2.3.3 Jq 33
2.4 本章小结 34
第3章 Hyperledger简介 35
3.1 Hyperledger综述 35
3.1.1 Hyperledger的项目背景 35
3.1.2 Hyperledger的项目成员 36
3.2 Hyperledger的体系结构 37
3.2.1获取Hyperledger源代码并成为开发者 37
3.2.2 Hyperledger的9个正式项目 38
3.3 本章小结 43
第4章 Fabric快速入门 44
4.1 Fabric的技术特性 44
4.1.1 Fabric的多账本特性 44
4.1.2 Fabric的智能合约 45
4.1.3 Fabric的权限系统 46
4.1.4 Fabric的共识算法 47
4.2 Hyperledger中与Fabric相关的项目 47
4.3 Fabric的模块、安装和使用 48
4.3.1 Fabric的编译和安装 49
4.3.2 Fabric模块安装结果检查 50
4.3.3利用Docker运行Fabric相关模块 51
4.4 快速运行一个简单的Fabric网络 53
4.4.1 Fabric环境准备 53
4.4.2 生成Fabric需要的证书文件 54
4.4.3 创始块的生成 56
4.4.4 Orderer节点的启动 59
4.4.5 Peer节点的启动 60
4.4.6 创建通道 64
4.4.7 Chaincode的部署和调用 65
4.5 本章小结 66
第5章 Fabric核心模块详解 67
5.1 Fabric的核心模块功能、通用选项和命令 67
5.1.1 Fabric核心模块及其功能 67
5.1.2 Fabric模块的通用选项和命令 68
5.2 Fabric模块的子命令、选项和配置文件 68
5.2.1 cryptogen 69
5.2.2 conf?igtxgen 74
5.2.3 conf?igtxlator 77
5.2.4 orderer 79
5.2.5 peer 85
5.3 Fabric模块在系统中的作用 92
5.3.1 peer模块在Fabric系统中的作用 92
5.3.2 orderer模块在Fabric系统中的作用 95
5.4 Fabric数据安全传输的方式 95
5.4.1 Fabric中orderer模块TLS设置 95
5.4.2 Fabric中peer模块TLS设置 96
5.5 本章小结 98
第6章 Fabric的账号体系 99
6.1 Fabric账号简介 99
6.1.1 Fabric账号是什么 99
6.1.2什么地方需要使用Fabric的账号 101
6.2 基于cryptogen的账号管理体系 103
6.3 Fabric账号服务器:Fabric-ca 106
6.3.1 Fabric-ca的编译和安装 107
6.3.2 fabric-ca-server的启动和配置 108
6.3.3 fabric-ca-client的使用 115
6.4将fabric-ca-server绑定到现有项目中 117
6.5 本章小结 120
第7章 Fabric的智能合约详解 121
7.1 Chaincode初探 121
7.2快速编写和运行一个Chaincode 122
7.3 Golang版本的Chaincode的代码结构 125
7.3.1 Chaincode源代码的基本结构 125
7.3.2 shim包的核心方法 127
7.3.3 ChaincodeStubInterface接口中的核心方法 128
7.4 Chaincode相关的操作命令和选项 136
7.5如何通过Chaincode进行交易的endorse 140
7.6 Chaincode的调试方法 142
7.6.1 Chaincode在Docker容器之外的运行 142
7.6.2 Chaincode在IDE中的调试 145
7.7 本章小结 148
第8章Fabric和Fabric-ca的编程接口 149
8.1 Fabric接口的通信协议和功能划分 149
8.2 Fabric Nodejs SDK的使用 151
8.2.1如何获取Fabric Nodejs SDK源代码 151
8.2.2快速构建基于Nodejs的Fabric客户端 151
8.2.3 Fabric Nodejs SDK中TLS的设置 159
8.3 Fabric Java SDK 160
8.3.1 Fabric Java SDK的安装 160
8.3.2 Fabric Java SDK的常用接口 161
8.3.3 Fabirc Java SDK中TLS的设置 169
8.4 Fabric Go SDK 170
8.4.1 Fabric Golang的安装 170
8.4.2 创建配置文件 170
8.4.3一个简单的Golang访问Fabric的例子 171
8.4.4 Fabric Golang SDK其他用法 174
8.4.5 Fabric Golang SDK的背书操作 176
8.5 本章小结 176
第9章 Fabric系统架构设计 177
9.1 Fabric架构中的组织规划 177
9.1.1 确认组织 178
9.1.2 组织的管理方式 178
9.2 Fabric系统的结构 179
9.2.1 Fabric系统的逻辑结构 179
9.2.2 Fabric系统的物理结构 181
9.3 Fabric中Channe
· · · · · · (收起)
读后感
用户评价
坦率地说,市面上关于这个主题的入门读物已经够多了,但大多停留在介绍名词概念的层面。然而,这本著作真正展现了其深度。它并没有回避技术栈中那些“脏活累活”——比如跨链通信的复杂性、状态通道的实现难点,或者虚拟机状态转换的精确性要求。作者以一种近乎“解剖”的方式,一层一层剥开了核心架构的复杂外壳,让我们得以窥见其运作的精髓。对于那些已经有一定编程基础,但想突破瓶颈,真正理解分布式账本技术“魔力”所在的人来说,这本书是绝佳的进阶读物。它提供的代码示例清晰且具有极强的可复现性,每一个函数调用和数据结构定义背后都有详尽的逻辑支撑,这极大地加速了我的学习曲线。
这本书的排版和结构设计也充分体现了对读者的尊重。它没有使用那种密密麻麻、令人望而生畏的字体和布局。关键概念、重要代码块和潜在风险点都被用醒目的方式突出显示,阅读体验非常流畅。更重要的是,它不是那种读完就束之高阁的书。作者在每章末尾设置的“思考与挑战”环节,设计得非常巧妙,它们不是简单的回顾性问题,而是需要读者综合运用本章知识去解决一个小型设计难题。这有效地将“被动接收”信息转化为了“主动构建”知识体系的过程。我发现自己经常会停下来,对照着书中的建议,尝试在本地环境中复现和修改一些关键的实现细节,这才是真正意义上的“实战”学习。
这本书的叙事方式着实让人耳目一新,它更像是一位经验丰富的老兵在与初入行的小兄弟倾心交谈,而不是一本冰冷的教材。作者的文笔流畅自然,丝毫没有技术文档常有的那种枯燥感。它巧妙地将复杂的密码学原理融入到生动的场景描述中,让你在不知不觉中就理解了为什么某些设计是必然的选择。我特别喜欢其中关于去中心化治理模式演变的章节,作者没有简单地罗列各种DAO的结构,而是深入探讨了权力制衡、激励机制设计背后的社会学和经济学考量。这使得我们不仅知道“怎么做”,更明白了“为什么这么做”——这种深度思考能力,对于构建真正具有韧性和可持续性的系统至关重要。它培养的不仅是编码能力,更是系统设计者的全局观。
这本书简直是为那些渴望在数字前沿领域站稳脚跟的实干家量身定制的。它没有过多地停留在那些高屋建瓴、晦涩难懂的理论层面,而是直接将我们带入了实际操作的“沙盒”之中。从环境搭建的每一个细微步骤,到核心协议的底层逻辑解析,作者都处理得极其细腻。我尤其欣赏作者对于“陷阱”的预判和规避,这绝非是书本知识的堆砌,而是融合了大量实战中摸爬滚打才得来的宝贵经验。读完前几章,我就感觉自己不再是那个对复杂系统心生畏惧的新手,而是有了一套清晰的施工蓝图。书中对于不同类型应用场景的案例剖析也十分到位,每一个例子都像是一个小型项目,让我们能把学到的零散知识点串联起来,形成完整的项目思维链条。对于希望快速将概念转化为可交付产品的工程师来说,这本书的指导价值是无可替代的。
我过去尝试阅读过几本相关的技术书籍,往往因为作者对特定生态的偏好,导致内容过于局限于某一个平台或框架,视角显得狭窄。然而,这本书的视野明显更为宏大和兼容。它似乎在努力构建一个普适性的框架思维模型,而不是仅仅教授某种特定语言的语法。它引导我们关注那些跨越不同实现的技术共性与本质差异。特别是其中关于共识机制的比较分析部分,作者展现了极高的客观性,公正地评估了PoW、PoS以及各种变种的优劣势,以及它们在不同应用场景下的适用性权衡。这种中立且全面的视角,让我对整个技术领域有了更平衡、更少偏见的认识,这对于未来的技术选型和架构决策是极其宝贵的财富。
别的不评价,这本书里边的代码有一些错误...我实在是不能理解为什么代码还能有错,不应该是复制粘贴上去的吗?把我坑的很惨...而且代码没有注释,就一个代码放在那里,可读性很差。变量命名风格很诡异,一些单词拼写甚至是错误的。 建议新手一开始不要做这本书里的项目,可以看另一本《区块链原理,设计与应用》,个人觉得比这本要严谨很多。github上面也有很多写好的demo可以借鉴。
别的不评价,这本书里边的代码有一些错误...我实在是不能理解为什么代码还能有错,不应该是复制粘贴上去的吗?把我坑的很惨...而且代码没有注释,就一个代码放在那里,可读性很差。变量命名风格很诡异,一些单词拼写甚至是错误的。 建议新手一开始不要做这本书里的项目,可以看另一本《区块链原理,设计与应用》,个人觉得比这本要严谨很多。github上面也有很多写好的demo可以借鉴。
非常好了一本hyperledger fabric书,将的很细,很专业.
别的不评价,这本书里边的代码有一些错误...我实在是不能理解为什么代码还能有错,不应该是复制粘贴上去的吗?把我坑的很惨...而且代码没有注释,就一个代码放在那里,可读性很差。变量命名风格很诡异,一些单词拼写甚至是错误的。 建议新手一开始不要做这本书里的项目,可以看另一本《区块链原理,设计与应用》,个人觉得比这本要严谨很多。github上面也有很多写好的demo可以借鉴。
还行,至少表述没问题,内容也比较新