精通以太坊:開發智能合約和去中心化應用 Mastering Ethereum: Building Smart Contracts and Dapps

Andreas M. Antonopoulos ,Gavin Wood

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

商品描述

為什麼IBM、微軟、納斯達克以及其他數百個組織都在嘗試以太坊?這本必不可少的指南向你展示了成為這個不斷發展和令人興奮的新興行業的創新者所需的技能:

·運行以太坊客戶端,創建和傳輸交易,編寫智能合約。

·了解公鑰加密、哈希的基本要素和數字簽名。

·了解“錢包”如何保存用來操縱以太幣和智能合約的數字私鑰。

·使用JavaScript庫和遠程過程調用接口,以編程方式與以太坊客戶端交互。

·了解安全實踐、設計模式和反模式,了解現實世界的例子。

·創建代表資產、股份、投票權或訪問控制權的代幣。

·使用多個P2P組件構建去中心化應用程序。

作者簡介

Andreas M. Antonopoulos

是備受好評的暢銷書作家、演講家和教育家,
也是世界上最重要的比特幣和開放式區塊鏈專家之一。
Andreas善於化繁為簡,讓普通人理解深奧的技術話題。


Gavin Wood

博士是以太坊的聯合創始人和前首席技術官,也是Solidity面向合約編程語言的發明人。
他還是Web3基金會的創始人兼總裁,也是Parity Technologies的創始人兼首席程序員。

目錄大綱

前言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