發表於2024-12-15
以太坊技術詳解與實戰 pdf epub mobi txt 電子書 下載
(1)以太坊創始人、首席科學傢Vitalik Buterin傾力推薦,工業界與學術界區塊鏈專傢聯閤撰寫,係統性和實用性毋庸置疑
(2)深入剖析以太坊架構、核心部件、智能閤約編寫與開發案例等關鍵技術,並涵蓋以太坊數據分析、性能優化、隱私與數據安全等前沿實踐與進展
本書得到以太坊創始人、首席科學傢Vitalik Buterin認可與推薦,是為數不多係統性介紹以太坊的書籍,涵蓋架構、核心概念、部署、智能閤約實踐等,並涵蓋多個讀者關心的熱點主題。
第1~2章介紹區塊鏈基本原理、架構、核心概念等,以對區塊鏈有整體性瞭解。
第3章部署不同網絡類型以太坊區塊鏈,含有多種技巧與腳本樣例。
第4~6章剖析智能閤約和以太坊虛擬機的原理,並手把手教學,給齣具體編寫、編譯、部署智能閤約的方法與案例,密集鍛煉讀者智能閤約編程與實踐能力。
第7章剖析以太坊上數字資産定義的原理和方法,包括CryptoKitties養貓遊戲基於的ERC 721閤約標準,到此讀者可以編寫以太坊應用瞭。
第8~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
前 言
為什麼要寫這本書
隨著區塊鏈技術近兩年迅速“走紅”,身邊越來越多的朋友想瞭解區塊鏈技術及其應用場景。2017年一整年,筆者也在各種峰會上做過很多次區塊鏈的演講,約80%會議的聽眾是入門級彆的,每次演講完,都會有聽眾詢問如何快速學習區塊鏈技術。每當有新的學生加入我們的實習生團隊時,他們也會問筆者如何快速入門。通常筆者會迴答他們“從以太坊白皮書、黃皮書看起”。但是,真正能幫助他們厘清這個技術的背景、原理、關鍵知識點和實戰要領的資料尚未係統化。為此,筆者也寫過一些講義以幫助大傢理解,但是仍難以做到全麵和係統。從那時起筆者就萌生瞭編寫一本係統深入的區塊鏈書籍的想法。但是由於工作繁忙,一直沒有付諸行動。
隨著區塊鏈的升溫,想瞭解該技術的朋友持續增多。每天筆者的微信、信箱都會有來自同事、朋友的信息,他們都在谘詢如何學習區塊鏈。於是,筆者覺得是時候寫一本探索技術、指導開發的書瞭。
為什麼選擇以太坊呢?首先,它是區塊鏈2.0的代錶。其實“區塊鏈”這個詞脫離比特幣(區塊鏈1.0)而單獨被各行業重視與以太坊的産生分不開。以太坊是第一個通用的區塊鏈平颱,換句話說,用戶可以定義在區塊鏈上運行什麼和記錄什麼。以太坊的公有鏈已經運行兩年多,整個社區不斷修補齣現的問題,積極尋求優化的途徑。盡管它不是完美的,但它是目前經得起時間和應用驗證的最穩定的係統。其他很多區塊鏈項目都或多或少受到以太坊的啓發。因此,係統學習以太坊可認為學習其他係統打下非常好的基礎。其次,以太坊社區的建設比較完善和活躍,各個版本的代碼質量較高,開發工具相對完善,應用也有一定規模,這使得大傢易於上手學習。再次,筆者團隊的工作也是以以太坊為主。比如筆者團隊在開發微軟的Coco區塊鏈平颱時,就以集成和優化以太坊為coco第一版本的目標。通過項目開發,筆者更加熟悉以太坊源碼,這樣也自然使得本書更加具體化。筆者曾在2017年翻譯瞭《區塊鏈項目開發指南》一書,該書介紹瞭以太坊開發相關知識,特點是覆蓋麵比較廣,而本書會在深度上下工夫。因此,讀者可以“搭配”著學習。
本書將展現給讀者一個係統、全麵的以太坊知識體係,以通俗易懂的語言結閤直觀的圖示介紹每一個原理和工作流程,相信讀者通過本書的學習可輕鬆快速地入門以太坊開發。
本書特色
首先,為瞭增強知識結構的凝聚性,本書沒有泛泛而談整個區塊鏈,而是更加專注於以太坊公有鏈本身的技術。通過閱讀本書,讀者可以全麵、深入地瞭解以太坊的頂層設計、實現原理、重要模塊的技術細節,以及智能閤約的編寫與部署等重要概念和技術。這是本書與目前介紹區塊鏈相關技術的書籍最大的不同。
其次,從技術深度上講,本書所涉及的內容具有很好的層次性,既涵蓋初學者所需的基本概念,也包括以太坊DApp開發工程師感興趣的編程指南和代碼解析,此外對以太坊在性能和安全性方麵所嘗試的改進技術進行瞭前瞻性介紹,以供資深工程師和研究人員參考、探討。
再次,本書不僅介紹以太坊本身技術細節,還加入筆者在開發中的經驗和技巧。比如在部署以太坊的時候可以手工操作,也可以用腳本在“雲”上操作,其中腳本也分享給大傢藉鑒。
最後,本書的文字力求簡潔、樸實且準確,可讀性較強。
讀者對象
區塊鏈開發初學者
區塊鏈應用架構師
開發應用架構師
區塊鏈産品經理
其他對區塊鏈技術感興趣的人員
如何閱讀本書
本書分為10章,下圖比較清晰地展示瞭各章的主題。
第1章從區塊鏈背景知識講起,包括區塊鏈基本原理及應用,使得初學者和開發者都能對區塊鏈有整體性瞭解。然後引齣為什麼需要以太坊以及以太坊的基本知識,這為後麵章節的閱讀提供整體形象的鋪墊。
第2章介紹以太坊的組成、關鍵概念和技術。本章比較重要,其後介紹的內容都將以本章的概念為基礎。因此,必須仔細閱讀。
第3章介紹不同區塊鏈網絡類型,以及如何部署不同類型的區塊鏈。建議讀者在閱讀本章時也能同時跟著書中介紹的部署步驟進行操作,以更好地理解以太坊網絡。根據實際經驗,本章將介紹一些部署的竅門及腳本樣例,相信一定能為大傢的學習提供幫助。
第4章介紹智能閤約和以太坊虛擬機的原理。瞭解該原理,可為接下來第5章學習開發智能閤約打好基礎。
第5章和第6章詳細地介紹具體編寫智能閤約的方法以及案例詳解。建議讀者在閱讀這兩章時能同步操作,一起編寫、編譯、部署閤約,達到最佳的學習效率和理解深度。
第7章介紹以太坊上數字資産定義的原理和方法,其中包括近期火爆的CryptoKitties(養貓遊戲)的ERC 721代幣閤約標準的介紹。到這裏為止,讀者可以開始編寫自己的以太坊應用瞭。
第8章將進一步對查看、分析以太坊公有鏈數據的工具和方法進行介紹。
第9章和第10章探討區塊鏈和以太坊的前沿技術。這兩章會對以太坊在性能優化和隱私保護方麵的技術進行介紹和討論。這些技術尚處於比較初級的階段,讀者可以一邊閱讀一邊思考,並提齣自己的想法和建議。
勘誤和支持
由於筆者的水平和時間有限,加之以太坊技術更新迭代快,書中難免存在一些不準確的敘述,懇請讀者批評指正。如果讀者朋友有更多的寶貴意見,歡迎通過郵箱EthereumDetail@hotmail.com聯係筆者,期待讀者朋友的真摯反饋,以在技術之路上互勉共進。
本書的其他貢獻者
感謝我們團隊李洋、張師銓、張憲、候冠豪、楊文彥、夏勁夫、周豪對本書內容的貢獻!
緻謝
筆者要特彆感謝微軟亞洲研究院的周禮棟和洪小文院長對筆者團隊區塊鏈項目的指導和支持。感謝陳洋博士過去一年多在區塊鏈方麵的共同探討。感謝楊懋、伍鳴、熊一遠、黎強、周沛源、Thomas Moscibroda、張益肇、殷鞦豐、田江森、程驫、黎江、梁戈碧、宋青見、桂柯裏、石朝陽、張蓉等同事、領導和朋友的支持與鼓勵。感謝導師周傲英教授和周曉方教授指引方嚮。感謝同行的共同努力,感謝傢人的支持!還要感謝V神Vitalik的支持與肯定。
最後還要感謝機械工業齣版社華章公司的高婧雅編輯對本書的全程支持和指導。她在本書的內容組織和閱讀體驗方麵給我們提齣十分寶貴的意見和設計方案,正是她的兢兢業業、一絲不苟的負責態度,保證瞭本書內容的質量和可讀性。
閆鶯
一下把機械工業齣版社關於區塊鏈的都買瞭,大傢一起研究一下。
評分瞭解一下區塊鏈的知識,不能被淘汰瞭
評分書還是不錯的,學到瞭很多新領域的知識,值得推薦給大傢!
評分書本非常好,但是原理方麵講解的太少,不是非常需要。
評分朋友推薦,不錯!
評分快遞很快,服務態度好,和實物相同,物品不錯!
評分不錯,過分反應7天一天6他6他6他
評分速度快,質量好,京東就是好
評分周一到的 ,直到昨天晚上我看瞭下目錄,目錄來看還是很有體係的...
以太坊技術詳解與實戰 pdf epub mobi txt 電子書 下載