[套装书]区块链应用开发实战+区块链技术进阶指南(2册)

作者
袁钧涛 袁煜明
丛书名
区块链技术丛书
出版社
机械工业出版社
ISBN
9782008181181
简要
简介
内容简介书籍计算机书籍 ---------------------------区块链应用开发实战--------------------------- 区块链正在进入一个爆炸式发展的时期,真实应用在多个行业并获得了强劲的动力,加密货币也在整个金融领域获得了更多的认可。对于技术人员来说,无论是技术研究还是商业探索,区块链都是最有吸引力的方向之一。基于当今最先进和最健壮的区块链编程模型和架构模型,本书为构建区块链应用提供了实用指南。 ---------------------------区块链技术进阶指南--------------------------- 本书从区块链发展简史、账本模型、网络、共识、合约引擎及应用等多个方面进行系统介绍,希望帮助对区块链有一些初步概念而想深入了解各类区块链平台背后所使用技术的读者,梳理出区块链分层的技术图谱,建立起一个区块链的全局性知识模型。 本书第1章主要介绍区块链技术的前世今生;第2章介绍区块链技术的总体架构;第3~7章分别介绍区块链的账本模型与底层存储、点对点网络的设计与实现、共识原理及常见算法、合约引擎的实现方式、区块链技术应用与生态等。
目录



---------------------------区块链应用开发实战---------------------------


推荐序一
推荐序二 网络先行,应用为王
译者序 Web3,区块链后花园的姹紫嫣红
致谢
第一部分 区块链入门
第1章 区块链简介 2
1.1 区块链 2
1.2 协作账本 3
1.3 加密数字货币 4
1.4 智能合约 5
1.5 免信任网络 5
1.6 新的协作方式 6
1.7 胖协议 6
1.8 我们相信代码 7
1.9 本章小结 8
第2章 达成共识 9
2.1 什么是区块链共识 9
2.2 PoW 10
2.3 PoS 10
2.4 DPoS 12
2.5 本章小结 12
第3章 第一个区块链应用 13
3.1 智能合约 14
3.2 前端的HTML 17
3.3 JavaScript和web3.js 18
3.4 实战 18
3.5 分享Dapp 19
3.6 本章小结 20
第二部分 走近以太坊
第4章 以太坊入门 22
4.1 BUIDL方式 23
4.2 BUIDL简易开发 25
4.3 本章小结 35
第5章 概念与工具 36
5.1 以太坊钱包和基本概念 36
5.2 Etherscan 38
5.3 TestRPC 39
5.4 通过GETH与以太坊交互 41
5.5 通过Web3与以太坊交互 42
5.6 运行一个以太坊节点 43
5.7 运行一个私有以太坊网络 44
5.8 本章小结 45
第6章 智能合约 46
6.1 重温“Hello,World!” 46
6.2 学习智能合约编程 48
6.3 构建和部署智能合约 50
6.4 调用智能合约函数 55
6.5 一种新语言 59
6.6 更多智能合约语言 61
6.7 本章小结 62
第7章 Dapp 63
7.1 Dapp软件栈 64
7.2 Dapp示例 66
7.3 本章小结 68
第8章 Dapp的替代方案 69
8.1 JavaScript 69
8.2 Python及其他 73
8.3 本章小结 74
第三部分 深入以太坊
第9章 以太坊揭秘 76
9.1 什么是区块链状态 76
9.2 以太坊的状态 78
9.3 前缀树(或树) 80
9.4 以太坊的前缀树结构 83
9.5 分析以太坊数据库 85
9.6 本章小结 88
第10章 区块链数据服务 89
10.1 区块链浏览器 89
10.2 收集数据 93
10.3 查询接口 99
10.4 下一步是什么 103
10.5 本章小结 104
第11章 智能合约搜索引擎 105
11.1 智能合约搜索引擎简介 105
11.2 开始使用智能合约搜索引擎 107
11.3 FairPlay Dapp示例 111
11.4 用例 114
11.5 本章小结 115
第12章 智能合约的安全性和最佳实践 116
12.1 以太坊智能合约的重大非法入侵和漏洞 116
12.2 智能合约安全的最佳实践 123
12.3 本章小结 125
第13章 以太坊的未来 126
13.1 以太坊1.0 127
13.2 超越以太坊1.0 130
13.3 以太坊2.0 133
13.4 以太坊2.0的交付阶段 134
13.5 后以太坊2.0的创新 135
13.6 本章小结 135
第四部分 构建应用协议
第14章 扩展以太坊协议 138
14.1 完全兼容,但更快捷 139
14.2 EVM的智能增强 139
14.3 安全第一 144
14.4 本章小结 144
第15章 扩展以太坊工具 145
15.1 智能合约工具集 146
15.2 Dapp工具集 152
15.3 本章小结 156
第16章 Dapp案例 157
16.1 案例研究1:Valentines 157
16.2 案例研究2:WeBet 161
16.3 本章小结 177
第17章 业务规则与合约 178
17.1 一个示例 179
17.2 规则语言 181
17.3 更多业务示例 185
17.4 本章小结 188
第18章 构建特定于应用的EVM 189
18.1 使用libENI函数 190
18.2 写一个libENI函数 196
18.3 部署libENI函数 198
18.4 本章小结 199
第五部分 构建自己的区块链
第19章 开始使用Tendermint 202
19.1 Tendermint的工作原理 203
19.2 工作流程 203
19.3 搭建Tendermint节点 205
19.4 搭建Tendermint网络 207
19.5 本章小结 208
第20章 业务逻辑 209
20.1 协议 210
20.2 应用示例 212
20.3 Cosmos SDK 222
20.4 本章小结 223
第21章 创建一个区块链客户端 224
21.1 方法概述 225
21.2 应用样例 226
21.3 本章小结 230
第六部分 加密经济学
第22章 通证设计的加密经济学 232
22.1 网络效用通证 232
22.2 应用效用通证 235
22.3 证券通证 235
22.4 通证的估值 236
22.5 高级主题 240
22.6 本章小结 242
第23章 ICO 243
23.1 简短的历史 243
23.2 ICO的效用 244
23.3 ICO与传统股权融资的对比 246
23.4 评估一个ICO项目 248
23.5 ICO的参与风险 249
23.6 本章小结 250
第24章 加密货币交易所 251
24.1 交易所的类型 251
24.2 去中心化交易所 253
24.3 产品和服务 254
24.4 本章小结 255
附录A 开始使用CyberMiles 256



---------------------------区块链技术进阶指南---------------------------


推荐序
前言
第1章 区块链简史1
1.1 区块链的史前时代1
1.1.1 密码朋克社区1
1.1.2 经济危机与比特币诞生前夜4
1.2 公有链的澎湃浪潮6
1.2.1 引言6
1.2.2 中本聪的星星之火6
1.2.3 最早的加密货币和区块链社区8
1.2.4 价值10 000比特币的两个比萨9
1.2.5 “丝绸之路”网站11
1.2.6 比特金,莱特银12
1.2.7 PoS的诞生17
1.2.8 bytemaster、DPoS与去中心化公司19
1.2.9 Vitalik封神,以太坊突进24
1.2.10 匿名币群雄并起33
1.2.11 “黎明女神”EOS以及以太坊的其他“对手”39
1.2.12 比特币扩容之争始末43
1.3 联盟链的汹涌波涛48
1.3.1 引言48
1.3.2 R3联盟:区块链金融应用领域的务实派48
1.3.3 Hyperledger Project:区块链金融应用领域的技术派51
1.3.4 国内知名区块链联盟53
参考资料55
第2章 区块链技术总体架构58
2.1 总体架构58
2.2 密码学技术60
2.2.1 非对称加密60
2.2.2 哈希函数61
2.2.3 数字签名62
2.2.4 隐私保护63
2.3 分布式账本64
2.3.1 账本64
2.3.2 网络64
2.3.3 共识65
2.4 合约66
2.5 应用66
2.5.1 钱包66
2.5.2 DApp67
2.5.3 预言机67
2.5.4 浏览器67
2.6 扩展技术68
2.6.1 Layer 068
2.6.2 Layer 169
2.6.3 Layer 270
第3章 账本72
3.1 账本模型设计72
3.1.1 UTXO模型73
3.1.2 账户模型79
3.2 账本结构设计83
3.2.1 区块链83
3.2.2 区块85
3.2.3 新一代区块典型结构—以太坊87
3.2.4 有向无环图—DAG90
3.3 底层存储的技术实现93
3.3.1 区块链的存储方式93
3.3.2 新一代存储方式—以太坊94
3.3.3 链外扩展存储—IPFS100
参考资料103
第4章 网络105
4.1 P2P网络简介105
4.1.1 什么是P2P网络105
4.1.2 从BT下载看P2P网络105
4.1.3 P2P网络与区块链111
4.2 P2P网络中的重要技术111
4.2.1 分布式哈希表112
4.2.2 Kademlia协议114
4.2.3 NAT与NAT穿越119
4.3 libp2p125
4.3.1 libp2p是什么125
4.3.2 libp2p的设计127
4.3.3 libp2p的组成128
第5章 共识132
5.1 共识与一致性132
5.1.1 一致性133
5.1.2 共识134
5.2 FLP和CAP135
5.2.1 FLP135
5.2.2 CAP135
5.3 区块链中的共识及思路139
5.3.1 BFT共识139
5.3.2 PoX共识139
5.4 PoX类共识140
5.4.1 工作量证明140
5.4.2 权益证明145
5.4.3 其他PoX共识151
5.5 BFT类共识154
5.5.1 针对无拜占庭错误场景进行优化154
5.5.2 针对拜占庭错误场景进行优化160
5.5.3 基于密码学的改进162
5.6 混合类共识163
5.6.1 PoW+BFT164
5.6.2 DPoS+BFT164
5.6.3 Tendermint164
5.6.4 Algorand166
参考资料167
第6章 合约引擎171
6.1 合约设计171
6.1.1 确定性172
6.1.2 可终止性173
6.2 脚本方式175
6.2.1 比特币的分叉币、竞争币175
6.2.2 匿名加密货币175
6.2.3 部分DAG176
6.2.4 扩展方法176
6.3 容器方式176
6.4 虚拟机方式178
6.4.1 改进EVM179
6.4.2 兼容传统指令集180
6.4.3 wasm 方式181
6.5 应用专有链方式182
参考资料183
第7章 应用186
7.1 应用基础设施—钱包186
7.1.1 多角度看钱包186
7.1.2 钱包的技术实现原理189
7.2 应用的外部辅助机制198
7.2.1 预言机Oracle198
7.2.2 链下支付通道203
7.3 DApp应用生态208
7.3.1 主流生态平台现状208
7.3.2 DApp生存挑战211



有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4