-
>
決戰(zhàn)行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調(diào)優(yōu)實踐之路
-
>
第一行代碼Android
-
>
深度學(xué)習(xí)
-
>
Unreal Engine 4藍圖完全學(xué)習(xí)教程
-
>
深入理解計算機系統(tǒng)-原書第3版
-
>
Word/Excel PPT 2013辦公應(yīng)用從入門到精通-(附贈1DVD.含語音視頻教學(xué)+辦公模板+PDF電子書)
以太坊智能合約開發(fā)實戰(zhàn) 版權(quán)信息
- ISBN:9787111623717
- 條形碼:9787111623717 ; 978-7-111-62371-7
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
以太坊智能合約開發(fā)實戰(zhàn) 本書特色
本書從區(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)知識也做了詳細介紹,以幫助讀者更好地理解和利用以太坊的相關(guān)數(shù)據(jù)。
本書內(nèi)容豐富,講解通俗易懂,案例典型,實用性強,特別適合區(qū)塊鏈技術(shù)愛好者和智能合約開發(fā)的相關(guān)從業(yè)人員閱讀,也適合區(qū)塊鏈底層研究人員閱讀。另外,本書還適合作為區(qū)塊鏈培訓(xùn)機構(gòu)作為相關(guān)課程的培訓(xùn)教材使用。
以太坊智能合約開發(fā)實戰(zhàn) 內(nèi)容簡介
本書從區(qū)塊鏈的概念、原理、核心技術(shù)和應(yīng)用四個方面,系統(tǒng)地介紹了以太坊區(qū)塊鏈開發(fā)的相關(guān)知識。其中,重點介紹了以太坊的相關(guān)概念和原理、以太坊客戶端Geth、以太坊常用智能合約開發(fā)工具、Solidity語言和智能合約開發(fā)等內(nèi)容,并介紹了眾籌合約和代幣合約兩個項目實戰(zhàn)案例,可以讓讀者對智能合約開發(fā)的整體流程有一個全面的了解。另外,書中結(jié)合示例對web3.js的相關(guān)知識也做了詳細介紹,以幫助讀者更好地理解和利用以太坊的相關(guān)數(shù)據(jù)。 本書共17章,分為4篇,涵蓋的主要內(nèi)容有區(qū)塊鏈的概念、原理與底層技術(shù);以太坊的相關(guān)概念與原理;以太坊相關(guān)協(xié)議;以太坊客戶端Geth;以太坊智能合約的其他常用工具與客戶端;Solidity語言的基本概念與數(shù)據(jù)類型;使用Solidity進行以太坊智能合約開發(fā);通過web3.js與以太坊區(qū)塊鏈數(shù)據(jù)進行交互;眾籌智能合約與代幣智能合約項目實戰(zhàn)案例。 本書內(nèi)容豐富,講解通俗易懂,案例典型,實用性強,特別適合區(qū)塊鏈技術(shù)愛好者和智能合約開發(fā)的相關(guān)從業(yè)人員閱讀,也適合區(qū)塊鏈底層研究人員閱讀。另外,本書還適合區(qū)塊鏈培訓(xùn)機構(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 工作量證明機制(PoW) 6
1.2.1 區(qū)塊鏈遭遇的問題 6
1.2.2 PoW模型 8
1.2.3 PoW為什么能防止篡改 9
1.3 權(quán)益證明機制(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)維護 18
2.3 DApp網(wǎng)絡(luò)與通信 18
2.3.1 P2P網(wǎng)絡(luò)與WWW 19
2.3.2 P2P網(wǎng)絡(luò)拓撲結(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 以太坊虛擬機(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 認識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 認識Postman 93
5.5.2 Postman的簡單用法 94
5.5.3 Postman腳本 95
5.6 LevelDB簡介 96
5.6.1 認識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 主機端口與網(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 十六進制字面量 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ù)類型進階 235
11.1 Solidity固定大小字節(jié)數(shù)組 235
11.1.1 固定大小字節(jié)數(shù)組類型 235
11.1.2 固定大小字節(jié)數(shù)組支持
以太坊智能合約開發(fā)實戰(zhàn) 作者簡介
唐盛彬,就職于國內(nèi)領(lǐng)先的手機游戲平臺當(dāng)樂網(wǎng)(d.cn),主要負責(zé)當(dāng)樂游戲中心App平臺的SDK及區(qū)塊鏈游戲眾籌平臺DOGI.IO的智能合約開發(fā)工作。熟悉以太坊,對以太坊底層原理和相關(guān)協(xié)議有較為深入的研究;熟悉以太坊智能合約開發(fā)的核心技術(shù)與常用工具,如Solidity語言、web3.js、Truffle和Geth等;對使用Solidity語言進行以太坊智能合約開發(fā)有豐富的實戰(zhàn)經(jīng)驗,特別是在眾籌和代幣開發(fā)等相關(guān)領(lǐng)域。
- >
我與地壇
- >
唐代進士錄
- >
企鵝口袋書系列·偉大的思想20:論自然選擇(英漢雙語)
- >
中國人在烏蘇里邊疆區(qū):歷史與人類學(xué)概述
- >
龍榆生:詞曲概論/大家小書
- >
隨園食單
- >
上帝之肋:男人的真實旅程
- >
山海經(jīng)