Node.js区块链开发图书
人气:13

Node.js区块链开发

Preface 前 言本书原名《Nodejs开发加密货币》,大部分已经通过网络免费分享(网络上仍有原文),正式出版的时候改成了现在的名字,部分章节也做了调整。写作本书的时候,“区块链”这个称呼并不流行,但...

内容简介

本书力求用少的篇幅来向读者阐释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

网友评论(不代表本站观点)

来自匿名用**的评论:

Node.js区块链开发 很多空白页...当当是正品??卖书专业户??

2017-08-09 14:18:02
来自coldxy1**的评论:

这本书真的很好,推荐大家购买

2017-10-26 08:00:49
来自无昵称**的评论:

书很好,物流很快!

2017-11-02 10:43:20
登录后即可发表评论

免责声明

更多相关图书
在线咨询