注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計以太坊智能合約開發(fā)實戰(zhàn)

以太坊智能合約開發(fā)實戰(zhàn)

以太坊智能合約開發(fā)實戰(zhàn)

定 價:¥119.00

作 者: 唐盛彬 著
出版社: 機(jī)械工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787111623717 出版時間: 2019-04-01 包裝: 平裝
開本: 16開 頁數(shù): 488 字?jǐn)?shù):  

內(nèi)容簡介

  本書從區(qū)塊鏈的概念、原理、核心技術(shù)和應(yīng)用四個方面,系統(tǒng)地介紹了以太坊區(qū)塊鏈開發(fā)的相關(guān)知識。其中,重點介紹了以太坊的相關(guān)概念和原理、以太坊客戶端Geth、以太坊常用智能合約開發(fā)工具、Solidity語言和智能合約開發(fā)等內(nèi)容,并實現(xiàn)了眾籌合約和代幣合約兩個項目實戰(zhàn)案例,可以讓讀者對智能合約開發(fā)的整體流程有一個全面的了解。另外,書中結(jié)合示例對Web3.js的相關(guān)知識也做了詳細(xì)介紹,以幫助讀者更好地理解和利用以太坊的相關(guān)數(shù)據(jù)。 本書內(nèi)容豐富,講解通俗易懂,案例典型,實用性強(qiáng),特別適合區(qū)塊鏈技術(shù)愛好者和智能合約開發(fā)的相關(guān)從業(yè)人員閱讀,也適合區(qū)塊鏈底層研究人員閱讀。另外,本書還適合作為區(qū)塊鏈培訓(xùn)機(jī)構(gòu)作為相關(guān)課程的培訓(xùn)教材使用。

作者簡介

暫缺《以太坊智能合約開發(fā)實戰(zhàn)》作者簡介

圖書目錄

前言
第1篇 基礎(chǔ)理論與原理
第1章 與區(qū)塊鏈的第一次親密接觸 2
1.1 什么是區(qū)塊鏈 2
1.1.1 區(qū)塊鏈簡介 2
1.1.2 區(qū)塊鏈的鏈?zhǔn)浇Y(jié)構(gòu) 3
1.1.3 區(qū)塊鏈上的區(qū)塊常見數(shù)據(jù) 4
1.2 工作量證明機(jī)制(PoW) 6
1.2.1 區(qū)塊鏈遭遇的問題 6
1.2.2 PoW模型 8
1.2.3 PoW為什么能防止篡改 9
1.3 權(quán)益證明機(jī)制(PoS) 11
1.3.1 什么是PoS 12
1.3.2 PoS的優(yōu)勢與劣勢 12
1.4 委托權(quán)益證明(DPoS) 12
1.5 權(quán)威證明(PoA) 13
1.6 區(qū)塊鏈的應(yīng)用 13
1.7 本章小結(jié) 13
第2章 去中心化應(yīng)用——DApp 15
2.1 DApp簡介 15
2.1.1 什么是DApp 15
2.1.2 DApp網(wǎng)絡(luò)組建過程 16
2.1.3 DApp的優(yōu)點 16
2.1.4 DApp存在的問題 16
2.2 中心化與去中心化 17
2.2.1 身份驗證 17
2.2.2 通信 17
2.2.3 數(shù)據(jù)交互 17
2.2.4 系統(tǒng)維護(hù) 18
2.3 DApp網(wǎng)絡(luò)與通信 18
2.3.1 P2P網(wǎng)絡(luò)與WWW 19
2.3.2 P2P網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)類型 20
2.3.3 小結(jié) 21
2.4 DApp貨幣與中心化數(shù)據(jù)交互 22
2.4.1 DApp貨幣 22
2.4.2 中心化應(yīng)用獲取去中心化數(shù)據(jù) 22
2.4.3 去中心化應(yīng)用獲取中心化數(shù)據(jù) 22
2.5 常見的DApp 23
2.5.1 比特幣 23
2.5.2 以太坊 23
2.5.3 IPFS存儲系統(tǒng) 23
第3章 比特幣那些事 25
3.1 比特幣簡介 25
3.1.1 比特幣公鑰與私鑰 25
3.1.2 數(shù)字簽名 26
3.2 橢圓曲線算法 26
3.2.1 群 26
3.2.2 橢圓曲線算法定義 28
3.2.3 橢圓曲線幾何運算 29
3.2.4 橢圓曲線算法的代碼實現(xiàn) 30
3.2.5 橢圓曲線加密與簽名原理 37
3.3 比特幣私鑰、公鑰與地址 39
3.3.1 從私鑰到地址 39
3.3.2 公鑰壓縮 40
3.3.3 私鑰格式 41
3.3.4 私鑰與安全 41
3.4 比特幣交易 44
3.4.1 交易簡介 44
3.4.2 交易輸出 44
3.4.3 交易輸入 44
3.4.4 交易費 45
3.4.5 付款至公鑰哈希(P2PKH) 45
3.4.6 多重簽名與P2SH 46
3.5 比特幣錢包 46
3.5.1 錢包簡介 46
3.5.2 生成助記詞 47
3.5.3 從助記詞生成種子 48
3.5.4 從種子生成HD錢包 48
3.5.5 HD錢包密鑰路徑 50
3.6 比特幣相關(guān)資源 51
第4章 以太坊 52
4.1 以太坊簡介 52
4.1.1 什么是以太坊 52
4.1.2 以太坊虛擬機(jī)(EVM) 53
4.1.3 以太坊智能合約與高級語言 53
4.1.4 以太幣單位 54
4.1.5 以太坊發(fā)行版本與提案 54
4.2 以太坊賬戶 55
4.2.1 外部賬戶 55
4.2.2 合約賬戶 56
4.2.3 外部賬戶與合約賬戶的異同 56
4.3 以太坊交易 57
4.3.1 gas、gasPrice與gasLimit 57
4.3.2 gasUsed與交易花費 58
4.3.3 什么是以太坊交易與消息 58
4.4 以太坊網(wǎng)絡(luò) 59
4.4.1 以太坊網(wǎng)絡(luò)簡介 59
4.4.2 以太坊與Kademlia 59
4.4.3 以太坊客戶端 61
4.5 挖礦 62
4.5.1 什么是挖礦 62
4.5.2 挖礦獎勵 62
4.5.3 以太坊區(qū)塊 63
4.6 GHOST協(xié)議 64
4.6.1 區(qū)塊時間 64
4.6.2 區(qū)塊分叉 65
4.6.3 普通分叉帶來的問題 66
4.6.4 GHOST協(xié)議的具體內(nèi)容 67
4.7 Ethash算法之DAG 68
4.7.1 什么是DAG 68
4.7.2 DAG生成過程 69
4.7.3 為什么要使用DAG 69
4.8 Ethash算法 70
4.8.1 Ethash算法簡介 70
4.8.2 Ethash算法流程 70
4.9 本章小結(jié) 71
第2篇 開發(fā)工具
第5章 智能合約開發(fā)常用工具 74
5.1 Git簡介 74
5.1.1 Git安裝 74
5.1.2 Git常用命令 75
5.1.3 Git資源推薦 76
5.2 Node.js簡介 76
5.2.1 什么是Node.js 76
5.2.2 Node.js安裝 77
5.3 NPM簡介 78
5.3.1 npm config命令 78
5.3.2 NPM與語義化版本 80
5.3.3 npm install命令 82
5.3.4 NPM鏡像 83
5.3.5 NPM的其他常用命令 84
5.4 webpack簡介 85
5.4.1 認(rèn)識webpack 85
5.4.2 webpack首秀 85
5.4.3 webpack 與webpack-dev-server 87
5.4.4 webpack常用功能與配置 90
5.4.5 webpack總結(jié) 92
5.5 Postman簡介 92
5.5.1 認(rèn)識Postman 93
5.5.2 Postman的簡單用法 94
5.5.3 Postman腳本 95
5.6 LevelDB簡介 96
5.6.1 認(rèn)識LevelDB 96
5.6.2 LevelDB文件 97
5.6.3 SST結(jié)構(gòu)與數(shù)據(jù)查找 99
第6章 以太坊私鏈神器——Ganache 102
6.1 Ganache簡介 102
6.1.1 什么是Ganache 102
6.1.2 ganache-cli命令安裝 103
6.1.3 Ganache圖形界面 104
6.2 Ganache常見命令參數(shù) 106
6.2.1 挖礦時間 106
6.2.2 主機(jī)端口與網(wǎng)絡(luò) 106
6.2.3 gas相關(guān)參數(shù) 106
6.2.4 其他參數(shù) 106
6.3 Ganache賬戶 107
6.3.1 能多給我點錢嗎 107
6.3.2 能多給我?guī)讉€賬戶嗎 108
6.3.3 助記詞相關(guān)參數(shù) 108
6.3.4 指定賬戶 108
6.3.5 鎖定賬戶與解鎖 109
6.4 Ganache與JavaScript 109
6.4.1 在工程中引用Ganache的Provider 109
6.4.2 在工程中啟動Ganache的Server 110
6.4.3 配置工程中依賴的Ganache 111
6.5 Ganache交易相關(guān)RPC方法 112
6.5.1 eth_sendTransaction方法 113
6.5.2 eth_getTransactionCount方法 115
6.5.3 eth_getTransactionReceipt方法 116
6.5.4 eth_getTransactionByHash方法 116
6.5.5 交易相關(guān)的其他方法 117
6.6 Ganache賬戶相關(guān)RPC方法 117
6.6.1 eth_accounts方法 118
6.6.2 eth_getBalance方法 118
6.6.3 eth_coinbase方法 119
6.7 Ganache區(qū)塊相關(guān)RPC方法 119
6.7.1 eth_getBlockByHash方法 119
6.7.2 eth_getBlockByNumber方法 122
6.7.3 其他相關(guān)方法 122
6.8 Ganache日志相關(guān)RPC方法 123
6.8.1 eth_newFilter方法 123
6.8.2 eth_getFilterLogs方法 124
6.8.3 eth_getLogs方法 125
6.8.4 其他關(guān)聯(lián)方法 126
6.9 Ganache的其他RPC方法 127
6.9.1 web3_clientVersion方法 127
6.9.2 net_version方法 127
6.9.3 eth_getCode方法 128
6.9.4 eth_sign方法 129
第7章 以太坊官方客戶端——Geth 130
7.1 Geth簡介 130
7.1.1 Geth是什么 130
7.1.2 Geth安裝 130
7.1.3 Geth相關(guān)目錄 132
7.1.4 Geth相關(guān)工具 134
7.2 Geth子命令 134
7.2.1 Geth子命令概述 135
7.2.2 Geth子命令之a(chǎn)ccount 136
7.2.3 Geth子命令之console與attach 137
7.2.4 Geth子命令之copydb與removedb 137
7.3 Geth啟動參數(shù) 138
7.3.1 Geth數(shù)據(jù)同步模式 138
7.3.2 Geth網(wǎng)絡(luò)相關(guān)參數(shù) 138
7.3.3 Geth以太坊相關(guān)參數(shù) 139
7.3.4 Geth RPC相關(guān)參數(shù) 140
7.3.5 Geth挖礦相關(guān)參數(shù) 141
7.3.6 Geth ethash算法參數(shù) 142
7.3.7 Geth交易池配置 142
7.3.8 Geth日志參數(shù) 145
7.3.9 Geth的其他參數(shù) 146
7.4 Geth啟動實例 146
7.4.1 Geth啟動單個節(jié)點 146
7.4.2 Geth啟動多節(jié)點組網(wǎng) 148
7.5 Geth控制臺與管理接口 149
7.5.1 admin模塊 149
7.5.2 debug模塊 150
7.5.3 miner模塊 151
7.5.4 personal模塊 152
7.5.5 txpool模塊 153
7.6 keystore文件 153
7.6.1 keystore文件簡介 153
7.6.2 從密鑰到密鑰文件 154
7.6.3 從密鑰到密鑰文件流程驗證 155
第8章 以太坊錢包與瀏覽器 158
8.1 MetaMask插件 158
8.1.1 MetaMask簡介 158
8.1.2 MetaMask安裝 159
8.1.3 第一次使用MetaMask 160
8.1.4 MetaMask的連接配置 161
8.1.5 MetaMask的其他配置 162
8.1.6 MetaMask賬戶管理 163
8.1.7 MetaMask交易 164
8.1.8 小結(jié) 165
8.2 Ethereum Wallet錢包 166
8.2.1 Ethereum Wallet簡介 166
8.2.2 安裝Ethereum Wallet與Mist 166
8.2.3 使用Ethereum Wallet 169
8.3 Mist與Ethereum Wallet 170
8.3.1 Ethereum Wallet與Mist的區(qū)別 171
8.3.2 Mist的配置與使用 171
8.3.3 小結(jié) 172
8.4 MyEtherWallet網(wǎng)頁錢包 172
8.4.1 MyEtherWallet簡介 173
8.4.2 MyEtherWallet合約交互 174
8.4.3 MyEtherWallet離線交易 175
8.4.4 MyEtherWallet的其他功能 177
第3篇 Solidity與智能合約開發(fā)
第9章 Solidity初遇 180
9.1 Solidity簡介 180
9.1.1 什么是Solidity 180
9.1.2 智能合約示例 181
9.1.3 Solidity編譯版本 182
9.2 Solidity編輯器 182
9.2.1 Sublime編輯器 182
9.2.2 Atom編輯器 185
9.2.3 IDEA編輯器 187
9.3 Remix編輯器 188
9.3.1 Remix簡介 188
9.3.2 Remix文件管理 189
9.3.3 Remix編輯面板與控制臺 190
9.3.4 Remix編譯與運行面板 191
9.3.5 Remix基本配置面板 193
9.3.6 Remix分析配置面板 194
9.4 Solidity常見概念 196
9.4.1 狀態(tài)變量 196
9.4.2 局部變量 196
9.4.3 Solidity函數(shù) 197
9.4.4 返回多值 197
9.4.5 構(gòu)造函數(shù) 198
9.4.6 異常 200
9.4.7 Solidity注釋與文檔 201
9.5 Solidity運算符 203
9.5.1 Solidity運算符簡介 203
9.5.2 Solidity運算符注意事項 204
9.6 Solidity控制結(jié)構(gòu) 205
9.6.1 控制結(jié)構(gòu)簡介 205
9.6.2 判斷語句 205
9.6.3 for循環(huán) 206
9.6.4 while與do…while循環(huán) 206
9.6.5 continue與break 207
9.6.6 三目運算符 208
9.7 可見性修飾符 209
9.7.1 public修飾符 209
9.7.2 internal修飾符 210
9.7.3 private修飾符 213
9.7.4 external修飾符 214
9.8 函數(shù)其他修飾符 216
9.8.1 constant修飾符 216
9.8.2 view修飾符 217
9.8.3 pure修飾符 217
第10章 Solidity數(shù)據(jù)類型 219
10.1 數(shù)據(jù)類型簡介 219
10.1.1 值類型 219
10.1.2 引用類型 220
10.1.3 小結(jié) 221
10.2 Booleans類型 221
10.2.1 Booleans類型簡介 221
10.2.2 Booleans類型支持的運算符 221
10.3 Integers類型 223
10.3.1 Integers類型簡介 223
10.3.2 Integers類型支持的運算符 224
10.3.3 Integers整除問題 225
10.4 定點數(shù)類型 226
10.4.1 定點數(shù)類型簡介 226
10.4.2 定點數(shù)類型支持的運算符 227
10.5 字面量 227
10.5.1 字符串字面量 227
10.5.2 十六進(jìn)制字面量 229
10.5.3 有理數(shù)字面量 230
10.6 Enum類型 231
10.6.1 枚舉類型簡介 231
10.6.2 枚舉類型實例 231
10.7 mapping類型 232
10.7.1 mapping類型簡介 232
10.7.2 mapping類型實例 232
10.8 struct類型 233
第11章 Solidity數(shù)據(jù)類型進(jìn)階 235
11.1 Solidity固定大小字節(jié)數(shù)組 235
11.1.1 固定大小字節(jié)數(shù)組類型 235
11.1.2 固定大小字節(jié)數(shù)組支持

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號