本书力求用少的篇幅来向读者阐释Node.js区块链开发的相关内容。本书共五部分:部分详细讲述了区块链产品——加密货币的相关概念;第二部分详细介绍了Node.js入门知识,并通过一个具体项目,完成对Node.js在区块链技术领域的调查和描述;第三部分从架构设计的角度层层剖析区块链的设计原理,深刻解读相关概念和技术;第四部分仍然以亿书项目中涉及的实际项目为主,包含多个完整独立的小项目;第五部分是附录,这部分给出了区块链相关名词的中英文对照列表以及相关专业术语的解释以及区块链俱乐部的相关信息。
目 录Contents
推荐序
推荐序二
推荐序三
前
及时部分 了解区块链
第1章加密货币就是货币 2
1.1加密货币简史 2
1.2什么是加密货币 3
1.3加密货币就是货币 4
1.4加密货币吗 4
1.5总结 6
1.6参考 6
第2章区块链,承载人类信用的基石 7
2.1利益,现实世界的内在驱动力 7
2.2信用,决定着利益转移的方向 7
2.3未来趋势 9
2.4应用场景 9
2.5风险提示 11
2.6总结 12
2.7参考 12
第3章共识机制,可编程的利益转移规则 13
3.1机制,左右产品走向的根源 13
3.2PoW:工作量证明机制 14
3.3PoS:股权证明机制 15
3.4DPoS:授权股权证明机制 16
3.5亿书对DPoS机制的改进 17
3.6总结 17
3.7参考 18
第4章区块链架构设计 19
4.1基本概念 19
4.2架构图 20
4.3协议层 20
4.4扩展层 22
4.5应用层 22
4.6编程实现 23
4.7知识图谱 25
4.8总结 26
4.9参考 27
第二部分 Node.js入门指南
第5章Node.js在币圈流行么 30
5.1Node.js在开源社区很流行 30
5.2Node.js在币圈也同样流行 32
5.2.1Github自带搜索 32
5.2.2自制查询工具 32
5.3Github上前10个应用的简介 34
5.4结论 36
5.5总结 36
5.6参考 36
第6章Node.js让前端开发像子弹飞一样 37
6.1项目需求 37
6.2技术选型 37
6.3Node.js简介 38
6.4开发步骤 39
6.4.1搭建环境 39
6.4.2新建工程 40
6.4.3前端组件 40
6.4.4前端流程 42
6.4.5学习API 43
6.4.6数据整理 44
6.4.7D3.js渲染 46
6.4.8代码调试 48
6.4.9部署 48
6.5总结 51
6.6参考 51
第7章Node.js让后台开发像前端一样简单 53
7.1需求 53
7.2开发 54
7.2.1安装Express 54
7.2.2创建简单应用 54
7.2.3使用模板引擎 55
7.2.4使用静态文件服务 55
7.2.5后台请求Github API 56
7.2.6模块化重构 57
7.2.7测试和部署 61
7.3总结 61
7.4参考 62
第8章你必须知道的几个Node.js编码习惯 63
8.1一切都是数据流 63
8.2事事皆回调 65
8.3异常要捕捉 67
8.4总结 72
8.5参考 73
第三部分 源码解读
第9章亿书,一个面向未来的自出版平台 76
9.1亿书是什么 76
9.2使用场景 76
9.3主要特点 77
9.4核心功能 77
9.5技术架构 78
9.6总结 79
9.7参考 79
第10章入口程序app.js解读 80
10.1源码与类图 80
10.2解读 80
10.2.1配置处理 80
10.2.2异常捕捉 82
10.2.3模块加载 83
10.3总结 86
第11章一个精巧的P2P网络实现 88
11.1源码、类图与流程图 88
11.2解读 89
11.2.1路由扩展 89
11.2.2节点路由 92
11.2.3节点保存 94
11.3总结 98
11.4参考 98
第12章加密和验证 99
12.1源码、类图与流程图 99
12.2概念 101
12.2.1私钥和公钥 101
12.2.2加密货币地址 101
12.2.3加密过程 101
12.2.4验证过程 102
12.3实践 102
12.4总结 104
12.5参考 104
第13章地址 105
13.1源码、类图与流程图 105
13.2解读 105
13.2.1公共API 107
13.2.2Hash地址 109
13.2.3别名地址 110
13.2.4注册用户名 111
13.2.5联系人列表 113
13.3总结 115
13.4参考 115
第14章签名和多重签名 116
14.1源码 116
14.2解读 116
14.2.1签名 116
14.2.2多重签名 120
14.3总结 125
第15章交易 126
15.1源码与类图 126
15.2解读 128
15.2.1交易的本质 128
15.2.2交易的生命周期 129
15.2.3亿书的交易类型 129
15.2.4交易的基本流程 130
15.2.5转账交易分析 136
15.3总结 141
15.4参考 141
第16章区块链 142
16.1源码、类图与流程图 142
16.2解读 143
16.2.1区块链是什么 143
16.2.2区块链的特点 147
16.2.3区块链开发应该解决的问题 148
16.2.4亿书区块链数据库设计 148
16.2.5亿书区块链的实现 149
16.3总结 162
16.4参考 163
第17章DPoS机制 164
17.1源码与类图 164
17.2受托人数据库表 165
17.3解读 167
17.3.1拜占庭将军问题 167
17.3.2亿书DPoS机制概述 169
17.3.3注册受托人 170
17.3.4投票 170
17.3.5块(时段)周期 170
17.3.6受托人(循环)周期 172
17.3.7奖励周期 174
17.4总结 176
17.5参考 176
第四部分 开发实践
第18章函数式编程入门经典 178
18.1什么是函数式编程 178
18.1.1面向对象的编码方式 179
18.1.2函数式编程的方式 179
18.1.3函数式编程的延伸 180
18.2函数式编程的优势 181
18.3函数式编程的基本原则 181
18.3.1直接把函数赋值给变量 182
18.3.2使用最普适的方式命名 182
18.3.3避免依赖外部变量 183
18.3.4面对this值时,小心加小心 184
18.4怎样进行函数式编程 184
18.4.1柯里化:动态产生新函数 184
18.4.2组合:自由组合新函数 186
18.4.3注释:签名函数的行为和目的 187
18.4.4容器:处理控制流、异常、异步和状态的独立模块 189
18.4.5数据验证仿函数 191
18.4.6错误处理仿函数 191
18.4.7异步处理仿函数 194
18.4.8嵌套处理仿函数 195
18.5总结 197
18.6参考 198
第19章轻松从JavaScript文件生成UML类图 199
19.1工具简要介绍 199
19.2能从中学点什么 201
19.3关于抽象语法树 201
19.4工具实现过程 202
19.4.1基本需求 202
19.4.2架构流程和代码结构 203
19.5总结 204
19.6参考 204
第20章命令行开发介绍 205
20.1commander 205
20.2概念定义 205
20.3用法介绍 206
20.4案例分析 208
20.5总结 209
20.6参考 209
第21章一张图学会使用async组件进行异步流程控制 210
21.1概念定义 211
21.2流程类别 211
21.3用法分类 212
21.4脑图 213
21.5总结 215
21.6参考 215
第22章静态网站开发全景扫描 216
22.1亿书官网介绍 216
22.1.1资源信息 216
22.1.2功能特点 217
22.2静态网站开发方案 218
22.3与Ember.js的“前仇旧恨” 218
22.4理解Ember.js几个让人迷乱的深“坑” 219
22.4.1什么是前端框架 219
22.4.2一定要使用它的命令行工具Ember-cli 219
22.4.3在浏览器上安装使用Ember-inspector插件 219
22.4.4Ember.js提倡的MVC模型里没有了VC 220
22.4.5有了组件,自然就没了全局模板layout和局部模板partial 220
22.4.6玩转Ember.js的必经之路 220
22.4.7学会插件开发,把一切现成的插件装进Ember.js里 221
22.5总结 222
22.6参考 222
第23章开发通用的HTML组件 223
23.1插件简介 224
23.2概念解读 225
23.3开发过程 226
23.3.1插件的基本情况 226
23.3.2插件的工程结构 227
23.3.3插件的开发设计 229
23.3.4加载第三方库 231
23.3.5测试插件 232
23.3.6蓝图模板 233
23.3.7辅助工具 234
23.4Ember.js的钩子方法介绍 235
23.4.1contentFor钩子方法 235
23.4.2写入命令行 235
23.4.3其他钩子方法 236
23.5总结 236
23.6参考 236
第24章三张图让你掌握加密解密技术 237
24.1密码学纵览 237
24.2场景与算法 237
24.3Node.js中的加密和解密、签名和认证 237
24.4趣味实践 241
24.4.1场景 241
24.4.2需求 241
24.4.3方案 241
24.4.4编码 241
24.5参考 243
第25章在时间和数据计算方面应该注意的问题 244
25.1时间戳处理问题 244
25.1.1问题再现 244
25.1.2时间戳的重要性 245
25.1.3不同产品对时间处理的需求 245
25.1.4时间处理的基本原理 245
25.1.5JavaScript语言的Date对象 246
25.1.6实践 247
25.2数据计算处理问题 248
25.2.1问题再现 248
25.2.2终极答案 249
25.3参考 249
第26章测试 251
26.1概念解释 251
26.2框架流程 252
26.3测试框架与库介绍 252
26.4实践 253
26.5总结 257
26.6参考 257
第五部分 附录
附录A区块链相关术语 260
附录B区块链相关名词 273
附录C关于区块链俱乐部 280
后记 282
很多空白页...当当是正品??卖书专业户??
这本书真的很好,推荐大家购买
书很好,物流很快!