定 價:¥59.00
作 者: | (印度)里特什,莫迪 |
出版社: | 機械工業(yè)出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787111616009 | 出版時間: | 2019-01-01 | 包裝: | 平裝 |
開本: | 16開 | 頁數(shù): | 字數(shù): |
譯者序
前言
審校者簡介
第1章 區(qū)塊鏈、以太坊和智能合約 1
1.1 什么是區(qū)塊鏈 2
1.2 為什么是區(qū)塊鏈 3
1.3 加密技術 4
1.3.1 散列 5
1.3.2 數(shù)字簽名 7
1.4 以太幣 7
1.5 gas 8
1.6 區(qū)塊鏈和以太坊架構 9
1.6.1 區(qū)塊如何互相連接 10
1.6.2 交易和區(qū)塊如何互相連接 11
1.7 以太坊節(jié)點 12
1.7.1 EVM 12
1.7.2 以太坊挖礦節(jié)點 13
1.7.3 如何挖礦 14
1.8 以太坊賬戶 15
1.8.1 外部賬戶 16
1.8.2 合約賬戶 16
1.9 交易 16
1.10 區(qū)塊 20
1.11 端到端的交易 21
1.12 什么是合約 22
1.13 什么是智能合約 22
1.14 如何部署合約 27
1.15 本章小結(jié) 27
第2章 安裝以太坊和Solidity 29
2.1 以太坊網(wǎng)絡 29
2.1.1 主網(wǎng) 30
2.1.2 測試網(wǎng)絡 30
2.1.3 私有網(wǎng)絡 31
2.1.4 聯(lián)盟網(wǎng)絡 31
2.2 Geth 31
2.3 搭建一個私有網(wǎng)絡 35
2.4 ganache-cli 40
2.5 Solidity編譯器 43
2.6 web3 JavaScript庫 43
2.7 Mist錢包 45
2.8 MetaMask 47
2.9 本章小結(jié) 51
第3章 Solidity介紹 53
3.1 以太坊虛擬機 53
3.2 Solidity和Solidity文件 54
3.2.1 預編譯指令 55
3.2.2 注釋 56
3.2.3 import語句 57
3.2.4 合約 58
3.3 合約的結(jié)構 59
3.3.1 狀態(tài)變量 60
3.3.2 結(jié)構 62
3.3.3 修改器 63
3.3.4 事件 64
3.3.5 枚舉 65
3.3.6 函數(shù) 66
3.4 Solidity中的數(shù)據(jù)類型 68
3.4.1 值類型 68
3.4.2 引用類型 69
3.5 存儲和內(nèi)存數(shù)據(jù)位置 71
3.5.1 規(guī)則1 71
3.5.2 規(guī)則2 71
3.5.3 規(guī)則3 72
3.5.4 規(guī)則4 72
3.5.5 規(guī)則5 72
3.5.6 規(guī)則6 74
3.5.7 規(guī)則7 75
3.5.8 規(guī)則8 76
3.6 字面量 77
3.7 整型 78
3.8 布爾型 79
3.9 字節(jié)數(shù)據(jù)類型 80
3.10 數(shù)組 82
3.10.1 固定數(shù)組 83
3.10.2 動態(tài)數(shù)組 83
3.10.3 特殊數(shù)組 84
3.10.4 數(shù)組屬性 86
3.11 數(shù)組的結(jié)構 86
3.12 枚舉 88
3.13 地址 89
3.14 映射 90
3.15 本章小結(jié) 94
第4章 全局變量和函數(shù) 97
4.1 var類型變量 97
4.2 變量聲明提前 99
4.3 變量作用域 100
4.4 類型轉(zhuǎn)換 101
4.4.1 隱式轉(zhuǎn)換 102
4.4.2 顯式轉(zhuǎn)換 102
4.5 區(qū)塊和交易全局變量 104
4.5.1 交易和消息全局變量 105
4.5.2 tx.origin 和msg.sender的區(qū)別 105
4.6 加密全局變量 106
4.7 地址全局變量 107
4.8 合約全局變量 107
4.9 本章小結(jié) 108
第5章 表達式和控制結(jié)構 109
5.1 Solidity表達式 109
5.2 if決策控制 111
5.3 while循環(huán) 113
5.4 for循環(huán) 114
5.5 do...while循環(huán) 115
5.6 break語句 116
5.7 continue語句 117
5.8 return語句 118
5.9 本章小結(jié) 119
第6章 編寫智能合約 121
6.1 智能合約 121
6.2 編寫一個簡單的合約 122
6.3 創(chuàng)建合約 123
6.3.1 使用new關鍵字 123
6.3.2 使用合約地址 124
6.4 構造函數(shù) 125
6.5 合約組合 126
6.6 繼承 127
6.6.1 單繼承 127
6.6.2 多級繼承 129
6.6.3 分層繼承 130
6.6.4 多重繼承 130
6.7 封裝 132
6.8 多態(tài)性 132
6.8.1 函數(shù)多態(tài)性 133
6.8.2 合約多態(tài)性 133
6.9 方法覆蓋 135
6.10 抽象合約 136
6.11 接口 137
6.12 本章小結(jié) 139
第7章 函數(shù)、修改器和fallback函數(shù) 141
7.1 函數(shù)輸入和輸出 141
7.2 修改器 143
7.3 view函數(shù)、constant函數(shù)和pure函數(shù) 146
7.4 地址相關函數(shù) 148
7.4.1 send方法 149
7.4.2 transfer方法 151
7.4.3 call方法 151
7.4.4 callcode方法 154
7.4.5 delegatecall方法 154
7.5 fallback函數(shù) 154
7.6 本章小結(jié) 157
第8章 異常、事件與日志 159
8.1 錯誤處理 160
8.1.1 require語句 160
8.1.2 assert語句 162
8.1.3 revert語句 163
8.2 事件與日志 163
8.3 本章小結(jié) 167
第9章 Truffle基礎與單元測試 169
9.1 應用程序開發(fā)生命周期管理 169
9.2 Truffle 170
9.3 使用Truffle進行開發(fā) 171
9.4 使用Truffle進行測試 176
9.5 本章小結(jié) 178
第10章 合約調(diào)試 179
10.1 調(diào)試 179
10.1.1 Remix編輯器 180
10.1.2 使用事件 183
10.2 使用Block Explorer 183
10.3 本章小結(jié) 186