區塊鏈 DAPP 開發入門、代碼實現、場景應用

區塊鏈 DAPP 開發入門、代碼實現、場景應用

作者: 李萬勝
出版社: 電子工業
出版在: 2019-09-01
ISBN-13: 9787121373756
ISBN-10: 7121373750





內容描述


本書以DAPP的原理和具體實現為主線索,通過對這些知識的講解,使讀者對DAPP系統開發有更全面的認識,同時把區塊鏈公鏈的相關知識融合進來,使得讀者不僅能夠設計和實現DAPP系統,還能大體理解DAPP的相關知識。本書分為7章。第1章簡單介紹了區塊鏈的基礎知識,通過一個簡單的智能合約的代碼,讓讀者對區塊鏈有更直觀的認識;第2章講解了各類集成開發環境的搭建,尤其是MetaMask插件,用戶需要通過此插件連接以太坊主網後才能使用DAPP系統;第3章講解了Solidity編譯及部署到公鏈之後的數據表達和函數調用方式;第4章介紹了ABI接口的技術細節;第5章和第6章以案例的方式介紹了DAPP開發的細節;第7章講解了DAPP潛在的風險。希望本書能為廣大系統開發者和投資者提供一些幫助。


目錄大綱


第1章智能合約概述1
1.1區塊鏈基礎知識1
1.1.1交易1
1.1.2區塊4
1.1.3鏈4
1.1.4挖礦5
1.1.5共識算法6
1.1.6分叉7
1.1. 7攻擊8
1.2以太坊智能合約9
1.2.1以太坊9
1.2.2 EVM 12
1.2.3智能合約13
1.2.4 DAPP 14
1.3簡單的智能合約15
1.3.1示例1 16
1.3.2示例2 17
1.4小結18
第2章開發環境搭建20
2.1 Remix的使用20
2.1.1編程界面20
2.1.2運行環境22
2.1.3其他設置24
2.2 Ethereum Wallet的安裝與使用26
2.2.1安裝26
2.2.2部署合約28
2.2.3調試32
2.2.4 Ethereum Wallet小結38
2.3 Ganache + Truffle的安裝與使用38
2.3.1 Ganache 38
2.3.2 Truffle 40
2.3.3安裝總結45
2.4 MetaMask的配置與使用45
2.5小結47
2.6課後練習47
第3章Solidity編程語法48
3.1 Solidity前導知識48
3.2智能合約的基本構成50
3.2.1狀態變量50
3.2.2函數50
3.2.3函數修飾器50
3.2.4事件51
3.2.5結構體51
3.2.6枚舉類型52
3.3 Solidity數據類型52
3.3 .1值類型53
3.3.2引用類型58
3.3.3左值操作類型65
3.3.4類型轉換原則66
3.4全局變量和單位68
3.4.1單位68
3.4.2全局變量和函數69
3.5控制邏輯與表達式71
3.5.1控制語句71
3.5.2函數調用71
3.5.3通過new關鍵字創建合約73
3.5.4賦值74
3.5.5作用範圍與聲明75
3.5.6異常處理76
3.6智能合約78
3.6.1創建合約78
3.6.2可見範圍和getter 80
3.6.3函數修飾符83
3.6.4狀態常量85
3.6.5函數86
3.6.6 events 91
3.6.7繼承93
3.6.8抽象合約97
3.6.9接口98
3.6.10庫99
3.6.11 using for 102
3.7 Solidity彙編語言103
3.7.1內嵌式彙編103
3.7.2獨立彙編109
3.8小結110
3.9課後練習110
第4章ABI(應用程序二進制接口) 111
4.1接口調用的基本原理111
4.2函數調用與參數封裝115
4.2.1數據封裝的基礎知識115
4.2.2函數選擇116
4.2.3參數封裝117
4.2.4封裝示例118
4.3 ABI接口JSON描述129
4.4小結132
4.5課後練習133
第5章ICO、token和DAO 134
5.1 ICO是第一個爆款DAPP 134
5.1.1被扭曲了的ICO 135
5.1 .2傳統眾籌與以太坊眾籌135
5.1.3眾籌的變種ICO 143
5.2 token 144
5.2.1 token的基本元素144
5.2.2改進token 150
5.3 ICO 158
5.4 DAO 162
5.4.1創建DAO合約162
5.4.2使用DAO的方式170
5.4.3模擬股票監管的DAO合約174
5.5 ICO認知誤區與防騙指南175
5.6小結176
5.7課後練習177
第6章DAPP完整實戰178
6.1投票178
6.1.1 Truffle默認案例講解178
6.1.2修改為投票系統187
6.1.3實戰小結193
6.2誓言上鍊193
6.3區塊鏈彩票199
6.3. 1業務架構199
6.3.2業務代碼實現201
6.4小結219
6.5課後練習219
第7章智能合約安全與公鏈技術簡介220
7.1合約溢出攻擊實例220
7.2智能合約安全漏洞與建議224
7.2.1合約漏洞224
7.2.2安全建議226
7.3常見的公鏈安全問題227
7.3.1雙花攻擊227
7.3.2女巫攻擊228
7.3.3日食攻擊229
7.3.4 DDoS攻擊230
7.4小結230


作者介紹


李萬勝
NBS Chain創始人,專注於數字資產的存儲和價值轉移的底層技術實現,是中國早期的區塊鏈實踐者,數字貨幣錢包開發者,GitHub等多個開源社區重要貢獻者,區塊鏈自媒體達人,寫過“以太坊黃皮書分析”“區塊鏈投資邏輯”“Filecoin技術文檔學習筆記”“IPFS深度分析”等文章。先後服務於浪潮、華為、開心網等企業,並在美國與他人聯合創立電子商務公司,後回國創立互金公司,現為北京非對稱區塊鏈有限公司創始人。




相關書籍

區塊鏈與新經濟 : 數字貨幣 2.0時代

作者 高航

2019-09-01

區塊鏈技術與應用

作者 華為區塊鏈技術開發團隊

2019-09-01

區塊鏈技術原理與實踐

作者 馬小峰中國電子學會

2019-09-01