Node.js區塊鏈開發 Node.js区块链开发

朱志文

  • 出版商: 機械工業出版社
  • 出版日期: 2017-05-23
  • 定價: CNY $59.00
  • 售價: $354
  • 貴賓價: 9.5$336
  • 語言: 簡體中文
  • 頁數: 283
  • 裝訂: 平裝
  • ISBN: 7111566955
  • ISBN-13: 9787111566953

下單後立即進貨 (4週~6週)

買這商品的人也買了...

產品描述

開發人員。本書涉及前端、後臺的方方麵麵,無論是前端開發人員,還是後臺開發者都可以學習參考。 架構師。區塊鏈本身是分佈式、雲計算的典範,本書詳細描述了一款區塊鏈產品的架構設計,他們可以通過本書學習掌握區塊鏈是如何基於P2P網絡構建複雜的自適應係統的。 高校學生、教師、科研人員等。本書內容在網絡上分享的過程中,已經有大學老師作為教參用在實際教學之中,本書從概念到代碼實現,理論與實踐結合緊密,深入淺出,適合係統研究學習區塊鏈技術。 學習Node.js的讀者。本書介紹了Node.js入門知識,包含了Node.js的技術原理和使用技巧,是一個完整的Node.js使用案例,有一定JavaScript基礎的初中級讀者,通過本書可以更深入的學習提高使用Node.js編碼技能。

目錄大綱

推薦序一
推薦序二
推薦序三
前言


第一部分 了解區塊鏈
 

第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