 
			 
				温馨提示:
《区块链开发实战:Hyperledger Fabric关键技术与案例分析》和《区块链开发实战:以太坊关键技术与案例分析》两本书有部分内容是重复的,这么安排并不是为了凑篇幅,而是经过精心考虑的。
主要原因如下: 以太坊和Hyperledger Fabric是两个不同的技术平台,涉及的技术都非常多,读者一般不会同时学习并在这两个平台上进行开发,于是我们没有将这两个主题的内容放到一本书中,这样便于读者按需选择。 两本书的前两章是相同的,因为这两章的内容对两个平台的用户来说是通用的,而且是都需要了解和学习的。 两本书关于比特币的内容是相同的,因为比特币系统是出现*早、运行*稳定的区块链技术平台,它的很多概念和核心技术对其他区块链平台有非常好的借鉴意义,值得所有区块链开发者学习。
基本信息
作者: 吴寿鹤 冯翔 刘涛 周广益
丛书名: 区块链技术丛书
出版社:机械工业出版社
ISBN:9787111599562
上架时间:2018-6-1
出版日期:2018 年6月
开本:16开
版次:1-1
所属分类:计算机
目录
前言
第1章 全面认识区块链 1
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章 以太坊介绍 35
3.1 了解以太坊 35
3.2 以太坊发展路线 36
3.3 以太坊内置货币 37
3.4 以太坊交易吞吐量 38
3.5 以太坊账户 39
3.6 智能合约 40
3.7 Gas与GasPrice 41
3.8 工作量证明算法 41
3.9 以太坊网络类型 42
3.10 以太坊客户端 43
3.11 本章小结 44
第4章 以太坊的编译、安装与运行 45
4.1 在Ubuntu下安装 45
4.2 在MacOS下安装 46
4.3 在Windows下安装 46
4.4 以Docker方式安装 47
4.5 运行以太坊 47
4.6 本章小结 47
第5章 以太坊私有链的搭建与运行 48
5.1 搭建一个私有链 48
5.2 以太坊控制台命令 53
5.3 以太坊CLI控制台命令 64
5.3.1 账户管理 64
5.3.2 区块数据管理 65
5.4 以太坊TestRPC测试链搭建 69
5.5 本章小结 78
第6章 以太坊的编程接口 79
6.1 web3.js API 79
6.1.1 安装web3.js并创建实例 79
6.1.2 账户相关API 80
6.1.3 交易相关API 80
6.1.4 区块相关API 87
6.2 JSON-RPC API 87
6.2.1 账户相关API 88
6.2.2 交易相关API 89
6.2.3 区块相关API 94
6.3 本章小结 95
第7章 Solidity IDE和Solidity快速入门 96
7.1 三种Solidity IDE 96
7.1.1 browser-solidity 96
7.1.2 Atom 97
7.1.3 IntelliJ IDEA 97
7.2 Solidity快速入门:编写一个简单的银行合约案例 99
7.3 本章小结 101
第8章 Solidity语法详解 102
8.1 注释 102
8.2 整型和布尔型 103
8.2.1 整型 103
8.2.2 布尔型 104
8.3 地址 104
8.4 字节数组 105
8.4.1 固定长字节数组 105
8.4.2 动态长度字节数组 105
8.5 类型转换和类型推断 106
8.5.1 类型转换 106
8.5.2 类型推断 107
8.6 时间单位和货币单位 107
8.6.1 时间单位 107
8.6.2 货币单位 108
8.7 数组和多维数组 108
8.7.1 数组 108
8.7.2 多维数组 109
8.8 映射/字典 109
8.9 结构体与枚举 111
8.9.1 结构体 111
8.9.2 枚举 112
8.10 全局变量 112
8.11 控制结构 113
8.12 函数 114
8.13 事件 122
8.14 合约 124
8.15 继承 125
8.16 抽象合约 127
8.17 接口 128
8.18 库 128
8.19 Using for 128
8.20 引入其他源文件 129
8.21 状态变量/局部变量 129
8.22 数据位置 130
8.22.1 数据位置概述 130
8.22.2 数据位置之间相互转换 130
8.23 异常处理 132
8.24 编写安全solidity智能合约最佳实践 133
8.24.1 尽早抛出异常 133
8.24.2 结构化函数代码顺序 134
8.24.3 在支付时使用pull模式而不是push模式 134
8.24.4 整数上溢和下溢 136
8.25 本章小结 137
第9章 Solidity 合约编译、部署 138
9.1 编译合约 138
9.1.1 安装solc编译工具 138
9.1.2 开始编译合约 139
9.2 部署合约 141
9.2.1 启动以太坊geth节点 141
9.2.2 部署智能合约 143
9.3 调用合约 145
9.4 本章小结 146
第10章 Truffle详解 147
10.1 什么是Truffle 147
10.2 安装Truffle 148
10.3 创建并初始化项目 149
10.4 创建合约 150
10.5 编译合约 150
10.6 迁移合约 151
10.7 合约交互 156
10.7.1 交易 156
10.7.2 调用 157
10.7.3 合约抽象 157
10.7.4 与合约交互 158
10.7.5 添加一个新合约到网络 159
10.7.6 使用现有合约地址 160
10.7.7 向合约发送以太币 161
10.8 测试合约 163
10.9 测试 164
10.10 Solidity测试 165
10.11 Truffle 配置文件 167
10.12 依赖管理 169
10.13 本章小结 171
第11章 以太坊DApps应用开发实战 172
11.1 DApps架构与开发流程 172
11.1.1 DApps架构 VS Web应用架构 172
11.1.2 DApps开发流程 173
11.2 案例:去中心化微博 174
11.2.1 创建项目 175
11.2.2 合约 176
11.2.3 前端应用 181
11.3 本章小结 192
附录A 比特币的原理和运行方式 193
附录B 比特币的bitcoin-cli模块详解 203
附录C 比特币系统的编程接口 213
附录D 比特币系统客户端项目实战 218
附录E 区块链相关术语 225
后记 228
↑折 叠
前言
基本信息
作者: 冯翔 刘涛 吴寿鹤 周广益
丛书名: 区块链技术丛书
出版社:机械工业出版社
ISBN:9787111599425
上架时间:2018-6-1
出版日期:2018 年6月
开本:16开
版次:1-1
所属分类:计算机
目录
前言
第1章 全面认识区块链 1
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 configtxgen 74
5.2.3 configtxlator 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中Channel的设计 181
9.4 Chaincode 182
9.5 数据访问层 183
9.6 历史遗留系统的兼容 185
9.7 Fabric系统的维护和管理 186
9.8 本章小结 187
第10章 Fabric开发实战:开发流程与实例详解 188
10.1 Fabric项目的开发流程 188
10.2 Fabric项目开发实例详解 191
10.2.1 系统初始化 191
10.2.2 Orderer节点的初始化和启动 193
10.2.3 启动第一个Peer 198
10.2.4 Channel的创建和加入 200
10.2.5 启动当前组织的Fabric-ca 202
10.2.6 测试Chaincode的部署和开发 202
10.2.7 客户端的开发 203
10.2.8 启动本组织的其他Peer 205
10.2.9 其他组织Peer节点的加入 208
10.2.10 背书交易的测试 210
10.2.11 非初始化组织的加入 214
10.3 本章小结 220
第11章 基于Fabric的区块链浏览器项目实战 221
11.1 项目介绍 221
11.2 开发过程 222
11.2.1 项目准备 222
11.2.2 项目开发 222
11.3 本章小结 229
第12章 基于Fabric的供应链金融项目实战 230
12.1 供应链金融的背景知识和痛点 230
12.1.1 供应链金融的背景知识 230
12.1.2 供应链金融的痛点 231
12.1.3 用Fabric解决供应链金融痛点的方法 231
12.2 用Fabric构建供应链金融系统的方法 232
12.2.1 系统的设计 232
12.2.2 系统环境搭建 233
12.2.3 客户端开发 239
12.3 本章小结 244
第13章 基于Fabric的食品溯源项目实战 245
13.1 数据溯源的背景知识和痛点 245
13.1.1 数据溯源的背景知识 245
13.1.2 数据溯源的痛点 245
13.2 Fabric如何优化数据溯源系统 246
13.3 Fabric如何构建数据溯源系统 246
13.3.1 系统环境搭建 247
13.3.2 客户端开发 262
13.4 本章小结 271
附录A 比特币的原理和运行方式 272
附录B 比特币的bitcoin-cli模块详解 282
附录C 比特币系统的编程接口 292
附录D 比特币系统客户端项目实战 297
附录E 区块链相关术语 304
↑折 叠
前言
为何写作本书
近年来区块链技术逐步占据各大技术类网站的头条,各种基于区块链特性的想法和创新层出不穷。这些繁荣是区块链技术在幕后默默支撑的,可是人们经常忽略区块链的技术而把投资、融资、保值等金融属性和区块链画上了等号。其实区块链本质上还是一门技术。区块链技术源于比特币,经过近几年的发展,已经超越比特币逐步形成一门单独的技术体系。目前区块链技术已经渗透到各行各业中,比如区块链技术同大数据、人工智能等技术产生了让人意想不到的化学反应。我们有理由相信区块链技术在未来一定会成为IT基础技术之一,成为每个IT技术人员必备的基础技能。
同时我们也可以看到区块链技术在国内外的发展非常迅速。在国外,IBM发起了超级账本项目,并把超级账本项目的源码捐献给了Linux基金,借助社区的力量来发展。全球已经有将近200多个公司和组织加入了超级账本,成为超级账本项目的会员。当然其他巨头也随之跟进,微软早就和以太坊达成了战略合作协议。互联网巨头Google、社交媒体行业的龙头Facebook等在区块链领域均有所布局。
但是在繁荣的背后我们也应该看到危机,目前区块链技术在实际项目中的应用还存在不少问题。我们认为出现这种情况是因为目前区块链技术的实用化还存在以下障碍:
技术新,学习资料匮乏。区块链技术是最近几年刚刚兴起的一门综合技术,目前资料特别是中文资料还是比较缺乏的。
技术种类多,有一定的学习成本。区块链是一门综合型的技术,如果把每个单项技术列出来学习并不难,但是当把这些技术组合起来之后学习难度就大大增加了。
可借鉴的成功案例少。由于区块链技术是一门比较新的技术,因此目前缺少比较成功的案例。即使诸如IBM等巨头开发了一些成功案例,但是由于各种各样的原因,目前并没有公开,这些都给广大技术人员学习区块链技术特别是把区块链技术应用到具体项目中造成了一定的障碍。
这些问题的存在是我们编写“区块链开发实战”系列图书的目的,第一批有两本书同时面世,分别是基于Hyperledger Fabric和以太坊进行区块链开发实战。我们希望读者通过这两本书,在了解区块链的基本概念和核心技术的同时,能够将区块链技术更多应用到具体的项目中,解决现有技术无法解决的一些行业痛点。
读者对象
这两本书都非常适合区块链开发工程师、区块链架构师、区块链技术爱好者阅读。
其中:
Hyperledger Fabric部分更适合对Hyperledger Fabric和比特币技术感兴趣的相关技术人员;
以太坊部分更适合以太坊爱好者、以太坊DAPP开发者、比特币开发者等。
主要内容
《区块链开发实战:Hyperledger Fabric关键技术与案例分析》
这本书以Hyperledger Fabric和比特币这两个典型区块链技术平台的核心技术、开发方法和相关的项目案例为核心内容,此外,还提供了大量的命令脚本和代码示例供读者参考,力图使读者在最短的时间内掌握这两个平台的使用方法。
全书分为三个部分:
第一部分(第1~2章):首先从基本认识的角度对区块链进行了宏观上的介绍,包括区块链技术的起源和演进过程、区块链核心技术及其特性、区块链技术的缺点和常见错误认识,以及区块链技术的应用领域和常见的技术框架;然后介绍了进行区块链开发需要掌握的技术和使用的工具。
第二部分(第3~13章):主要讲解了Hyperledger Fabric的核心技术、原理、开发方法,以及多个项目案例。包括Hyperledger的全面介绍、Fabric的技术特性和快速入门、Fabric的核心模块和账号体系、Fabric的智能合约和编程接口、Fabric的系统架构与设计、Fabric项目案例的开发流程和方法,以及几个综合性的案例,如区块链浏览器、供应链金融、食品溯源等。
第三部分(附录):主要讲解了比特币的原理、运行方式、重要模块和编程接口,同时还讲解了一个比特币客户端的案例。
我是一名正在学习区块链开发的初学者,之前接触过一些基础的编程知识,但对区块链技术还处于入门阶段。看到这本书的标题,尤其是“包邮”这个字眼,让我觉得非常亲民。我希望这本书能够用通俗易懂的语言,循序渐进地为我讲解 Hyperledger Fabric 和以太坊的核心概念。我尤其关注书中关于“开发实战”的部分,希望它能够提供详细的代码示例、开发环境搭建指南,以及一些常见的开发技巧。我希望能够通过跟着书中的步骤实践,一步步构建出自己的区块链应用。同时,我也期待书中能够对一些复杂的概念进行清晰的解释,例如 Fabric 的网络配置、权限管理,以及以太坊的智能合约安全、 Gas 优化等。如果书中还有一些常见的开发陷阱和解决方案的提示,那将对我这样的小白来说非常有帮助。
评分作为一名资深的区块链爱好者,我一直在寻找一本能够深入剖析 Hyperledger Fabric 和以太坊底层机制的书籍。市面上很多书要么过于浅显,要么内容陈旧,很难满足我深入探索的需求。这本书的标题“关键技术与案例分析”让我眼前一亮,特别是“关键技术”这四个字,预示着它将不仅仅是简单的API介绍,而是会深入到技术的本质。我非常好奇书中会如何讲解 Fabric 的节点、排序器、链码执行过程,以及以太坊的 EVM 架构、账户模型、交易生命周期等。我希望能获得对这些技术细节的清晰理解,从而能够更好地掌握它们的工作原理。此外,“案例分析”部分我也充满了期待。我希望能看到一些能够体现 Fabric 和以太坊在不同行业、不同场景下应用的真实案例,例如供应链金融、数字身份、去中心化应用(DApp)等。通过对这些案例的深入分析,我希望能学习到如何将这些技术落地,解决实际业务问题,并从中汲取宝贵的经验。
评分最近一直在研究企业级区块链解决方案,Hyperledger Fabric 是我重点关注的项目之一。这本书的标题“Hyperledger Fabric 关键技术与案例分析”正是我需要的。我希望书中能够详细讲解 Fabric 的架构设计,包括其模块化、可插拔的特性,以及账本、共识、智能合约(链码)等核心组件的实现细节。我特别想了解 Fabric 如何实现跨组织协作、数据隔离和权限控制。同时,我也非常期待书中关于 Fabric 实际应用案例的分析,希望能够看到它在金融、供应链、政务等领域的成功落地案例,以及这些案例如何利用 Fabric 的优势解决实际痛点。能够从实际案例中学习到 Fabric 的最佳实践和部署经验,对我来说价值巨大。
评分这本书我早就想入手了,之前在网上看过一些零散的 Hyperledger Fabric 和以太坊的教程,但总感觉不够系统,碎片化的信息也让我很难建立起完整的知识体系。看到这本书的标题,就觉得它正好填补了我在这方面的空白。我尤其关心书中关于“关键技术”的讲解,比如 Fabric 的通道、链码、背书策略,还有以太坊的智能合约、Gas 机制、共识算法等。我希望能通过这本书深入理解这些核心概念的原理和运作方式,而不是停留在表面。另外,书中提到的“案例分析”也非常吸引我。理论学习固然重要,但实际的应用场景和落地经验更能帮助我巩固知识,并从中获得启发。我期待看到一些真实的项目案例,了解它们是如何运用这些技术解决实际问题的,以及在开发过程中遇到了哪些挑战,又是如何克服的。希望这本书的案例能让我对区块链技术的应用前景有更清晰的认识,并为我未来的学习和实践提供宝贵的参考。
评分在众多区块链平台中,以太坊一直是我比较感兴趣的研究对象。这本书的标题“以太坊关键技术与案例分析”让我觉得它能够满足我对于以太坊深入学习的需求。我希望书中能够详细阐述以太坊的虚拟机(EVM)、账户模型、交易执行流程、共识机制(如 PoW 和 PoS 的演变)以及智能合约编程(Solidity)等关键技术。我希望能够理解以太坊是如何支持去中心化应用(DApp)的构建和运行的。另外,书中提到的“案例分析”也引起了我的兴趣,我期待看到一些经典的以太坊 DApp 的开发案例,例如去中心化交易所、DeFi 项目、NFT 平台等。通过对这些案例的剖析,我希望能学习到以太坊 DApp 开发中的设计思路、技术选型、安全考虑以及实际部署的经验。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有