精通以太坊:開發智能合約和去中心化應用 | 被動收入的投資秘訣 - 2024年7月

精通以太坊:開發智能合約和去中心化應用

作者:(希)安德烈亞斯·M.安東波羅斯
出版社:機械工業
出版日期:2019年05月01日
ISBN:9787111624929
語言:繁體中文

乙太坊打開了通向去中心化計算的大門,這個平臺使你能夠運行去中心化的應用程式(DApps)和智慧合約,這些應用程式沒有中心故障點或控制點,與支付網路集成,並在開放的區塊鏈上運行。通過這本實用指南,Andreas M. Antonopoulos 和 Gavin Wood 向讀者提供了在乙太坊和其他基於虛擬機器的區塊鏈上構建智慧合約和 DApps 所需的一切資訊。

本書既可以作為一本技術參考手冊,也可供讀者全面地瞭解乙太坊。前兩章主要是一個入門級的介紹,適合新手用戶,這些章節中的示例可以由具有一定技術技能的讀者完成。這兩章將使你對乙太坊基礎知識有一個很好的掌握,並教會你使用乙太坊的基本工具。第三章及以後的內容主要面向程式師,包括許多技術主題和程式設計示例。

前言1
術語速查11

第1章 什麼是乙太坊?23
乙太坊與比特幣的比較23
區塊鏈的組件24
乙太坊的誕生25
乙太坊的四個開發階段26
乙太坊:一個通用目的的區塊鏈27
乙太坊的元件28
乙太坊和圖靈完備29
從通用目的的區塊鏈到DApp31
互聯網的第三次浪潮32
乙太坊的開發文化32
為什麼要學習乙太坊?33
這本書將會教你什麼內容?33

第2章 乙太坊基本概念34
乙太幣的貨幣單位34
選擇乙太坊錢包35
控制和責任36
MetaMask入門37
世界電腦簡介45
外部帳戶和合約帳戶46
一個簡單的智慧合約:Faucet46
編譯Faucet合約49
在區塊鏈上創建合約50
與合約進行交互52
總結57

第3章 乙太坊用戶端58
乙太坊網路58
運行乙太坊用戶端62
乙太坊區塊鏈資料的首次同步67
遠端調用乙太坊用戶端71
總結74

第4章 乙太坊背後的密碼學75
金鑰和地址75
公開金鑰密碼學和加密貨幣76
私密金鑰78
公開金鑰79
密碼學雜湊函數85
乙太坊位址87
總結92

第5章 錢包93
錢包技術概述93
錢包的最佳實踐97
總結108

第6章 交易109
交易的結構109
交易的亂數110
交易的gas115
交易的接收方117
交易中的乙太幣和資料117
特殊交易:合約創建121
數位簽章123
簽名的首碼值(v)和公開金鑰恢復129
離線簽名130
交易的傳播131
記錄在區塊鏈上132
多簽名交易132
總結133

第7章 智能合約與Solidity134
什麼是智慧合約?134
智能合約的生命週期135
乙太坊高級程式設計語言136
使用Solidity編寫智慧合約138
乙太坊合約的應用程式二進位介面140
使用Solidity進行程式設計142
與gas有關的注意事項163
總結165

第8章 智能合約與Vyper166
合約的常見漏洞和Vyper166
與Solidity的比較167
裝飾器171
函數和變數順序172
編譯173
在編譯器層面防止溢出錯誤173
讀取數據174
總結174

第9章 智慧合約安全175
安全最佳實踐175
安全風險和反模式176
重入176
算術溢出181
意外的乙太幣185
DELEGATECALL189
默認的可見性195
無序錯覺197
外部合約引用199
短地址/參數攻擊204
未檢查的調用返回值206
競爭條件/預先交易208
拒絕服務211
區塊時間戳記操縱214
小心使用構造函數216
未初始化的存儲指標217
浮點數和精度219
Tx.Origin驗證222
合約程式庫223
總結224

第10章 代幣225
代幣有哪些使用方式?225
代幣和可替代性227
對手方風險227
代幣和內在性227
使用代幣:工具型代幣還是權益型代幣?228
乙太坊的代幣230
代幣標準251
代幣介面標準的擴展253
代幣和ICO254
總結254

第11章 預言機255
為什麼需要預言機?255
預言機的應用場景和示例256
預言機的設計模式257
數據認證259
計算性的預言機260
去中心化預言機262
Solidity中的預言機用戶端介面262
總結266

第12章 去中心化應用267
什麼是DApp?268
一個基本的DApp示例:拍賣DApp271
拍賣DApp的進一步去中心化276
使用Swarm進行資料存儲277
乙太坊名稱服務280
從普通應用到去中心化應用291
總結292

第13章 乙太坊虛擬機器293
什麼是EVM?293
圖靈完備和gas308
gas308
總結311

第14章 共識312
基於工作量證明的共識機制313
基於權益證明的共識機制313
Ethash:乙太坊的PoW演算法314
Casper:乙太坊的PoS演算法315
共識的原則316
爭議和競爭316

總結317
附錄A 乙太坊的分叉歷史318
附錄B 乙太坊標準325
附錄C EVM操作碼和對應的gas開銷332
附錄D 開發工具、框架和類庫339
附錄E web3.js教程359
 


相關書籍