《深入理解以太坊》是2019年6月1日機械工業出版社出版的圖書,作者是王欣、史欽鋒、程傑。
基本介紹
- 中文名:深入理解以太坊
- 作者:王欣、史欽鋒、程傑
- 出版社:機械工業出版社
- ISBN:9787111614920
內容簡介,圖書目錄,
內容簡介
內容簡介
這是一本從原理和實踐兩個層面系統、深入講解以太坊技術的專著,從設計理念、技術架構、共識算法、智慧型契約、以太坊虛擬機、開發工具、DApp開發、企業以太坊解決方案、跨鏈技術等近10個方面進行了詳細講解,既適合初學者系統學習以太坊的原理和套用開發,又適合有一定基礎的開發者深入掌握以太坊的底層運行機制。
全書一共11章:
第1~3章對以太坊的系統架構、設計理念和技術架構進行了系統介紹,包括以太坊項目的起源和發展路線圖、核心技術、共識問題、圖靈完備性、整體設計思路和各模組的核心功能實現等核心內容。
第4章深入剖析了PoW、PoA、PoS等共識算法的適用場景、設計思想、技術實現和優缺點。
第5~7章圍繞智慧型契約展開,系統講解了智慧型契約語言Solidity、智慧型契約套用開發、智慧型契約運行原理和實現細節,以及以太坊虛擬機的運行原理和智慧型契約位元組碼的解析等內容。
第8章介紹了以太坊周邊的工具,教讀者如何在不開發代碼的情況下完成與以太坊網路的互動。
第9章介紹了以太坊技術的企業級套用以及企業以太坊聯盟的標準化進展。
第10章對跨鏈技術和方案進行了方向性探討,雖然目前跨鏈技術還不成熟,但被視為後以太坊時代的區塊鏈技術熱點。
第11章分析了以太坊現階段面臨的發展瓶頸,並對可能的解決方案進行了展望。
圖書目錄
前言
第1章 以太坊概述 1
11 區塊鏈起源 1
12 以太坊發展之路 3
13 以太坊核心技術 6
131 智慧型契約 6
132 PoS 7
14 以太坊系統架構 8
15 以太坊社區 9
16 以太坊路線圖 10
17 本章小結 11
第2章 設計理念 12
21 密碼學 13
211 Hash 13
212 橢圓曲線的加解密 18
213 簽名 20
214 Merkle樹和驗證 24
215 MPT狀態樹 24
22 共識問題 28
221 分散式一致性問題 28
222 Paxos 和Rfat 30
223 拜占庭容錯及PBFT 31
224 以太坊IBFT共識 33
225 PoW 35
226 Casper 36
227 以太坊性能 38
23 圖靈完備 40
231 比特幣腳本 41
232 EVM虛擬機 44
233 Gas機制 46
24 本章小結 49
第3章 技術架構 50
31 分層設計 51
311 套用層 51
312 契約層 54
313 激勵層 55
314 共識層 56
315 網路層 59
316 數據層 60
32 數據結構設計 62
321 交易 62
322 狀態樹 65
323 區塊 67
324 區塊鏈 71
325 資料庫 72
33 P2P網路 76
331 節點發現 76
332 節點管理 78
34 客戶端 84
341 RPC 85
342 web3 88
35 本章小結 89
第4章 共識算法 90
41 PoW 90
411 算法概述 90
412 設計實現 93
413 優缺點分析 96
42 PoA 97
421 算法概述 97
422 設計實現 99
423 優缺點分析 102
43 PoS 103
431 算法概述 103
432 優缺點分析 111
44 本章小結 112
第5章 智慧型契約開發 113
51 智慧型契約的誕生 113
52 以太坊上的智慧型契約 114
521 以太坊智慧型契約概述 114
522 關於智慧型契約的理解誤區 114
523 契約賬戶 115
524 智慧型契約舉例 116
525 智慧型契約在以太坊上的運行流程 118
53 智慧型契約程式語言 119
54 智慧型契約套用開發 120
541 連線和訪問以太坊 120
542 以太坊集成開發環境remix 120
543 truffle 126
544 智慧型契約編譯器solc 129
55 solidity語法詳解 130
551 智慧型契約源檔案 130
552 solidity數據類型 132
553 智慧型契約的內建全局變數和函式 141
554 智慧型契約中的單位 143
555 solidity表達式和控制結構 144
556 函式 148
557 常量狀態變數 152
558 智慧型契約的事件 153
559 智慧型契約的繼承性 153
5510 智慧型契約的創建 154
5511 智慧型契約的銷毀 154
56 solidity編程規範 155
561 代碼布局 155
562 編碼約定 157
563 命名約定 159
57 本章小結 159
第6章 智慧型契約運行機制 160
61 調用智慧型契約函式 160
611 外部調用 161
612 內部調用 162
62 以太坊ABI協定 163
621 ABI接口定義 164
622 函式選擇器 165
623 參數編碼 165
624 abi編碼舉例 166
63 交易的費用和計算 167
631 什麼是Gas機制 167
632 為什麼需要Gas機制 168
633 交易費用計算法方法 169
634 交易費用的組成 170
64 智慧型契約的事件 170
641 事件的存儲和解析 170
642 Logs的底層接口 173
643 事件的查詢 174
644 事件查詢過程 174
65 庫和連結原理 175
651 庫的定義 175
652 庫的使用 175
653 庫的連線 176
654 庫中的事件 176
66 智慧型契約元數據 177
67 智慧型契約安全性分析 179
671 智慧型契約中的陷阱 179
672 建議 182
673 案例分析:資金回退流程 183
68 智慧型契約和外界的通信 184
681 oracle介紹 184
682 oracle需要解決的問題 185
683 數據商店 185
69 智慧型契約的動態升級 185
691 solidity是一個受限的語言 185
692 動態升級的實現 186
610 智慧型契約的數據存儲 187
6101 存儲 187
6102 記憶體 187
6103 棧 188
611 本章小結 188
第7章 智慧型契約位元組碼與彙編 189
71 智慧型契約彙編指令集 189
72 智慧型契約位元組碼解析 192
73 狀態變數的存儲 196
731 普通狀態變數的存儲 196
732 動態數據的storage存儲 198
733 總結 201
74 solidity內嵌彙編 201
741 內嵌彙編指令 201
742 單獨使用彙編指令 203
75 本章小結 204
第8章 開發者工具 205
81 MetaMask 205
811 MetaMask安裝 205
812 MetaMask作為Web錢包 206
813 MetaMask作為DApp客戶端 207
82 以太坊測試網路 209
821 Morden 209
822 Ropsten 210
823 Kovan 210
824 Rinkeby 211
825 本地以太坊私鏈 212
826 連線測試網路 213
83 Remix 213
831 本地安裝Remix 213
832 線上Remix 214
84 truffle 217
841 安裝truffle 218
842 構建套用項目 218
843 demo契約實踐 220
844 智慧型契約測試和驗證 222
85 myetherwall