以太坊技術詳解與實戰

以太坊技術詳解與實戰

《以太坊技術詳解與實戰》是一部由機械工業出版社出版的圖書,作者是閆鶯 / 鄭凱 / 郭眾鑫。

基本介紹

  • 書名:以太坊技術詳解與實戰
  • 作者:閆鶯 / 鄭凱 / 郭眾鑫
  • 出版社:機械工業出版社
  • ISBN:9787111595113
出版信息,內容簡介,作者簡介 ,目錄,

出版信息

作者:閆鶯 / 鄭凱 / 郭眾鑫
出版社: 機械工業出版社
出版年: 2018-4-3
頁數: 226
定價: 59.00元
裝幀: 平裝
叢書: 區塊鏈技術叢書
ISBN: 9787111595113

內容簡介

以太坊創始人、首故企精席科學家Vitalik Buterin傾力推薦,工業界與學術界區塊鏈專家聯合撰寫,權威性和實用性毋庸置疑。本書深入剖析以太坊架構、核心部件、智慧型契約編寫與開發案例等關鍵技術,並涵蓋以太坊數據分析、民鑽享舟性能最佳化、隱私與數據安全等前沿實踐與進展。
第1章 介紹區塊鏈背景、基本原理與套用,以對區塊鏈有整體性了解。
第2章 詳解以太坊架構與組成,應和拳涵蓋以太坊架構、核心概念與技術、客戶端與域名服務等,是後續學習的基礎。
第3章 帶領讀者部署不同網路類型以太坊區塊鏈,含有多種技巧與腳本樣例。
第4章 剖析智慧型契約與以太坊虛擬機的原理,這兩者是以太坊的魅力所在,了解後可以更好地開發智慧型契約。
第5~6章 手把手教學,給出具體編寫、編譯、部署智慧型契約的方法和案例,密集鍛鍊讀者智慧型契約編程與實踐能力。
第7章 剖析以太坊上數字資產定義的原理和方法,包括CryptoKitties養貓遊戲基於的ERC 721契約標準,到此企趨危讀者可以編寫以太坊套用了。
第8章 會進一步對如何查看、分析以太坊公有鏈數據的工具和方法進行介紹。
第9~10章 是前沿技術的探討,涵蓋以太坊性能最佳化和隱私保護技術。這些技術都在比較初級的階段,讀者可以一邊閱讀一邊思考,提出自己的想法和建議。

作者簡介

閆鶯 (博士),微軟亞洲研究院主管研究員,區塊鏈領域負責人,微軟Coco區塊鏈平台中國負責人。中國軟體協會區塊鏈創業學院及區塊鏈專委會專家、中國電子學會區塊鏈專家委員。專注與區塊鏈技術、大數據分析、數雄蜜市頁據庫以及雲計算的研究。在區塊鏈領域獲得多項國際專利,並在資料庫和雲計算 領域國際頂級會議和期刊發表論文30餘篇。參與翻譯《區塊鏈項目開發指南》。
鄭凱 (博士),電子科技大學教授,博士生導師,澳大利亞昆士蘭大學計算機科學博士。主要研究領域為區塊鏈數據管理,以及時空數據挖掘、不確定資料庫、記憶體資料庫、圖資料庫等。在資料庫、數據挖掘等領域的重要會議和期刊發表論文100餘篇,被累積引用1500餘次。2013年獲澳大利亞優秀青年基金,2015年獲資料庫頂級會議ICDE最佳論文獎。擔任資料庫領域知名國際會議的程式主席和聯合執行主席,國際SCI期擔紙刊客座編委,以及數十個國際等級會議的程式委員。
郭眾鑫 微軟亞洲研究院研發工程師,微軟Coco區塊鏈平台核心開發者。專注於區塊鏈技術、大數據分析、分散式系統等方面的研究和開發。

目錄

前 言
第1章 以太坊:新一代的區塊鏈平台 1
1.1 理解區塊鏈 2
1.2 以太坊設計思路與特色技術 4
1.3 套用場景 8
1.4 去中心化應籃潤朽用DApp 10
1.4.1 DApp的優勢 10
1.4.2 DApp實例 11
1.5 以太坊的主流開源項目 13
1.6 本書的組織結構 14
第2章 以太坊架構和組成 15
2.1 以太坊整體架構 15
2.2 區塊 16
2.3 賬戶 18
2.3.1 外部賬戶 19
2.3.2 契約賬戶 20
2.3.3 私鑰和公鑰 20
2.3.4 錢包 22
2.4 數據結構與存儲 24
2.4.1 數據組織形式 24
2.4.2 狀態樹 29
2.4.3 交易樹 29
2.4.4 收據樹 29
2.4.5 資料庫支持——LevelDB 30
2.5 共識機制 30
2.5.1 PoW 31
2.5.2 PoS 34
2.6 以太幣 36
2.7 交易 41
2.7.1 交易費用 41
2.7.2 交易內容 43
2.7.3 一個交易在以太坊中的“旅程” 45
2.8 數據編碼與壓縮 51
2.9 以太坊客戶端和API 52
2.10 以太坊域名服務 57
2.11 本章小結 58
第3章 不同類型的以太坊區塊鏈及其部署 59
3.1 區塊鏈類型 59
3.1.1 公有鏈 60
3.1.2 聯盟鏈 61
3.1.3 私有鏈 66
3.2 安裝和部署以太坊 67
3.2.1 安裝以太坊客戶端 67
3.2.2 部署以太坊聯盟鏈 70
3.3 如何在Azure上挖礦 81
3.3.1 部署虛擬機 81
3.3.2 安裝GPU驅動 82
3.3.3 安裝挖礦工具包 83
3.3.4 加入礦池 83
3.3.5 GPU挖礦收益權衡 83
3.4 本章小結 84
第4章 智慧型契約與以太坊虛擬機 86
4.1 智慧型契約 86
4.1.1 智慧型契約的操作 89
4.1.2 存儲方式 90
4.1.3 指令集和訊息調用 92
4.1.4 日誌 93
4.2 Solidity語言 93
4.2.1 結構 93
4.2.2 變數類型 94
4.2.3 內置單位、全局變數和函式 100
4.2.4 控制結構語句 101
4.2.5 函式 103
4.2.6 constant函式和fallback函式 105
4.2.7 函式修改器 106
4.2.8 異常處理 107
4.2.9 事件和日誌 109
4.2.10 智慧型契約的繼承 110
4.3 本章小結 112
第5章 編寫和部署智慧型契約 113
5.1 智慧型契約工具 113
5.2 Solidity集成開發工具Remix 115
5.2.1 Remix界面 115
5.2.2 初探Remix調試 117
5.2.3 使用Remix調試智慧型契約的多種調用方式 120
5.3 Truffle 126
5.3.1 Truffle安裝 126
5.3.2 創建 128
5.3.3 編譯 129
5.3.4 部署 129
5.3.5 測試 132
5.3.6 配置檔案 133
5.4 如何保證智慧型契約的安全可靠 134
5.4.1 常見的安全陷阱 135
5.4.2 智慧型契約開發建議 140
5.5 本章小結 141
第6章 智慧型契約案例詳解 143
6.1 投票 143
6.2 拍賣和盲拍 153
6.2.1 公開拍賣 153
6.2.2 盲拍 156
6.3 狀態機 161
6.4 許可權控制 163
6.5 本章小結 166
第7章 以太坊上數字資產的發行和流通 167
7.1 以太坊上的數字資產定義 167
7.2 發行和流通 168
7.3 ERC 20代幣契約標準 168
7.3.1 標準定義 169
7.3.2 ERC 20標準接口 169
7.3.3 現有ERC 20標準代幣 171
7.4 ERC 721代幣契約標準 174
7.4.1 標準定義 174
7.4.2 CryptoKitties DApp 175
7.5 本章小結 177
第8章 以太坊數據查詢與分析工具 178
8.1 以太坊瀏覽器Etherscan 178
8.1.1 Etherscan的基本功能 179
8.1.2 其他功能 190
8.1.3 API 193
8.1.4 ENS域名查詢 194
8.2 ETHERQL 195
8.2.1 同步管理器 197
8.2.2 處理程式鏈 197
8.2.3 持久化框架 198
8.2.4 開發者接口 198
8.2.5 實現 199
8.3 本章小結 199
第9章 以太坊性能最佳化 201
9.1 分片技術 201
9.2 雷電網路 205
9.3 Casper——下一代以太坊共識協定 208
9.4 本章小結 210
第10章 隱私保護和數據安全 211
10.1 區塊鏈的隱私問題 212
10.1.1 “化名”與“匿名” 212
10.1.2 去匿名攻擊:交易表分析 212
10.2 零鈔:基於zkSNARK的完美混幣池 214
10.2.1 零知識證明 214
10.2.2 零鈔的運行原理 215
10.3 Hawk:保護契約數據私密性 216
10.4 Coco框架 218
10.4.1 TEE環境簡介 219
10.4.2 Coco框架的運行原理 219
10.5 以太坊隱私保護技術路線:Baby ZoE 221
10.6 總結與展望 223
10.6.1 隱私方案總結 223
10.6.2 隱私技術展望 223
後記 225
1.4 去中心化套用DApp 10
1.4.1 DApp的優勢 10
1.4.2 DApp實例 11
1.5 以太坊的主流開源項目 13
1.6 本書的組織結構 14
第2章 以太坊架構和組成 15
2.1 以太坊整體架構 15
2.2 區塊 16
2.3 賬戶 18
2.3.1 外部賬戶 19
2.3.2 契約賬戶 20
2.3.3 私鑰和公鑰 20
2.3.4 錢包 22
2.4 數據結構與存儲 24
2.4.1 數據組織形式 24
2.4.2 狀態樹 29
2.4.3 交易樹 29
2.4.4 收據樹 29
2.4.5 資料庫支持——LevelDB 30
2.5 共識機制 30
2.5.1 PoW 31
2.5.2 PoS 34
2.6 以太幣 36
2.7 交易 41
2.7.1 交易費用 41
2.7.2 交易內容 43
2.7.3 一個交易在以太坊中的“旅程” 45
2.8 數據編碼與壓縮 51
2.9 以太坊客戶端和API 52
2.10 以太坊域名服務 57
2.11 本章小結 58
第3章 不同類型的以太坊區塊鏈及其部署 59
3.1 區塊鏈類型 59
3.1.1 公有鏈 60
3.1.2 聯盟鏈 61
3.1.3 私有鏈 66
3.2 安裝和部署以太坊 67
3.2.1 安裝以太坊客戶端 67
3.2.2 部署以太坊聯盟鏈 70
3.3 如何在Azure上挖礦 81
3.3.1 部署虛擬機 81
3.3.2 安裝GPU驅動 82
3.3.3 安裝挖礦工具包 83
3.3.4 加入礦池 83
3.3.5 GPU挖礦收益權衡 83
3.4 本章小結 84
第4章 智慧型契約與以太坊虛擬機 86
4.1 智慧型契約 86
4.1.1 智慧型契約的操作 89
4.1.2 存儲方式 90
4.1.3 指令集和訊息調用 92
4.1.4 日誌 93
4.2 Solidity語言 93
4.2.1 結構 93
4.2.2 變數類型 94
4.2.3 內置單位、全局變數和函式 100
4.2.4 控制結構語句 101
4.2.5 函式 103
4.2.6 constant函式和fallback函式 105
4.2.7 函式修改器 106
4.2.8 異常處理 107
4.2.9 事件和日誌 109
4.2.10 智慧型契約的繼承 110
4.3 本章小結 112
第5章 編寫和部署智慧型契約 113
5.1 智慧型契約工具 113
5.2 Solidity集成開發工具Remix 115
5.2.1 Remix界面 115
5.2.2 初探Remix調試 117
5.2.3 使用Remix調試智慧型契約的多種調用方式 120
5.3 Truffle 126
5.3.1 Truffle安裝 126
5.3.2 創建 128
5.3.3 編譯 129
5.3.4 部署 129
5.3.5 測試 132
5.3.6 配置檔案 133
5.4 如何保證智慧型契約的安全可靠 134
5.4.1 常見的安全陷阱 135
5.4.2 智慧型契約開發建議 140
5.5 本章小結 141
第6章 智慧型契約案例詳解 143
6.1 投票 143
6.2 拍賣和盲拍 153
6.2.1 公開拍賣 153
6.2.2 盲拍 156
6.3 狀態機 161
6.4 許可權控制 163
6.5 本章小結 166
第7章 以太坊上數字資產的發行和流通 167
7.1 以太坊上的數字資產定義 167
7.2 發行和流通 168
7.3 ERC 20代幣契約標準 168
7.3.1 標準定義 169
7.3.2 ERC 20標準接口 169
7.3.3 現有ERC 20標準代幣 171
7.4 ERC 721代幣契約標準 174
7.4.1 標準定義 174
7.4.2 CryptoKitties DApp 175
7.5 本章小結 177
第8章 以太坊數據查詢與分析工具 178
8.1 以太坊瀏覽器Etherscan 178
8.1.1 Etherscan的基本功能 179
8.1.2 其他功能 190
8.1.3 API 193
8.1.4 ENS域名查詢 194
8.2 ETHERQL 195
8.2.1 同步管理器 197
8.2.2 處理程式鏈 197
8.2.3 持久化框架 198
8.2.4 開發者接口 198
8.2.5 實現 199
8.3 本章小結 199
第9章 以太坊性能最佳化 201
9.1 分片技術 201
9.2 雷電網路 205
9.3 Casper——下一代以太坊共識協定 208
9.4 本章小結 210
第10章 隱私保護和數據安全 211
10.1 區塊鏈的隱私問題 212
10.1.1 “化名”與“匿名” 212
10.1.2 去匿名攻擊:交易表分析 212
10.2 零鈔:基於zkSNARK的完美混幣池 214
10.2.1 零知識證明 214
10.2.2 零鈔的運行原理 215
10.3 Hawk:保護契約數據私密性 216
10.4 Coco框架 218
10.4.1 TEE環境簡介 219
10.4.2 Coco框架的運行原理 219
10.5 以太坊隱私保護技術路線:Baby ZoE 221
10.6 總結與展望 223
10.6.1 隱私方案總結 223
10.6.2 隱私技術展望 223
後記 225

相關詞條

熱門詞條

聯絡我們