注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計區(qū)塊鏈DApp開發(fā):基于以太坊和比特幣公鏈

區(qū)塊鏈DApp開發(fā):基于以太坊和比特幣公鏈

區(qū)塊鏈DApp開發(fā):基于以太坊和比特幣公鏈

定 價:¥99.00

作 者: 林冠宏 著
出版社: 清華大學(xué)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787302563952 出版時間: 2020-10-01 包裝: 平裝
開本: 16開 頁數(shù): 411 字?jǐn)?shù):  

內(nèi)容簡介

  本書以Go編程語言為例,從必要的理論知識到編碼實踐,循序漸進地介紹了當(dāng)前區(qū)塊鏈兩大公鏈應(yīng)用—以太坊和比特幣DApp開發(fā)的技術(shù)要點。全書共分為7章,第1章介紹區(qū)塊鏈的重要基礎(chǔ)知識;第2章介紹以太坊公鏈的基礎(chǔ)知識,內(nèi)容包含但不限于以太坊的大量概念與術(shù)語;第3章介紹以太坊智能合約的開發(fā)與部署實踐;第4章和第5章以以太坊DApp中繼服務(wù)作為范例,介紹以太坊區(qū)塊鏈DApp的開發(fā)流程;第6章介紹比特幣公鏈的基礎(chǔ)技術(shù);最后的第7章介紹基于比特幣公鏈的DApp開發(fā)實例,包括錢包和交易所應(yīng)用中的內(nèi)存池解析器與去中心化數(shù)據(jù)存儲系統(tǒng)的開發(fā)。 本書技術(shù)先進,注重實踐,代碼注釋詳盡,適合廣大IT技術(shù)開發(fā)者閱讀,對于想了解以太坊和比特幣DApp開發(fā)技術(shù)的開發(fā)者尤為合適。

作者簡介

  林冠宏,網(wǎng)名:指尖下的幽靈。全棧開發(fā)者,擁有多年C/S雙端開發(fā)經(jīng)驗,擅長于使用Java語言開發(fā)Android應(yīng)用與Go語言開發(fā)后端程序。技術(shù)布道者,長期編寫技術(shù)博文與造輪開源,同時也是多個知名技術(shù)社區(qū)的簽約作家。曾任職中心化交易所高級開發(fā)工程師與區(qū)塊鏈公司技術(shù)經(jīng)理,現(xiàn)任某國際知名區(qū)塊鏈通證打賞工具的核心開發(fā)。對區(qū)塊鏈技術(shù),特別是基于以太坊與比特幣公鏈的DApp開發(fā)擁有較豐富的經(jīng)驗。

圖書目錄

第1章  區(qū)塊鏈基礎(chǔ)知識 1
1.1  認(rèn)識區(qū)塊鏈 1
1.1.1  區(qū)塊鏈的概念 1
1.1.2  鏈的分類 2
1.1.3  區(qū)塊鏈能做什么 3
1.2  共識的作用 3
1.3  常見的共識算法 4
1.3.1  PoW算法 5
1.3.2  PoS算法 7
1.3.3  DPoS算法 8
1.3.4  共識算法的編碼實現(xiàn) 9
1.4  鏈的分叉 15
1.4.1  軟分叉 16
1.4.2  硬分叉 18
1.4.3  常見的分叉情況 18
1.4.4  PoW共識機制的51%算力攻擊 20
1.5  小結(jié) 22
第2章  以太坊基礎(chǔ)知識 23
2.1  什么是以太坊 23
2.2  以太坊的架構(gòu) 24
2.3  什么是DApp 26
2.3.1  DApp概述 26
2.3.2  以太坊上的DApp 28
2.4  區(qū)塊的組成 29
2.4.1  區(qū)塊的定義 29
2.4.2  以太坊地址(錢包地址) 31
2.4.3  Nonce的作用 33
2.4.4  燃料費 34
2.4.5  GasUsed的計算 35
2.4.6  叔塊 38
2.4.7  挖礦獎勵 40
2.5  賬戶模型 42
2.5.1  比特幣UTXO模型 43
2.5.2  Trie樹 45
2.5.3  Patricia Trie樹 46
2.5.4  默克爾樹(Merkle Tree) 47
2.5.5  以太坊MPT樹 50
2.5.6  MPT樹節(jié)點存儲到數(shù)據(jù)庫 54
2.5.7  組建一棵MPT樹 54
2.5.8  MPT樹如何體現(xiàn)默克爾樹的驗證特點 57
2.5.9  以太坊錢包地址存儲余額的方式 57
2.5.10  余額查詢的區(qū)塊隔離性 58
2.5.11  余額的查詢順序 59
2.5.12  UTXO模型和Account模型的對比 59
2.6  以太坊的版本演變 60
2.6.1  以太坊與PoW共識機制 60
2.6.2  君士坦丁堡 61
2.7  以太坊Ghost協(xié)議 62
2.8  Casper:PoS的變種共識機制 63
2.8.1  如何成為驗證人 63
2.8.2  驗證人如何獲取保證金 64
2.8.3  候選區(qū)塊的產(chǎn)生 64
2.8.4  勝出區(qū)塊的判斷 64
2.9  智能合約 64
2.9.1  簡介與作用 64
2.9.2  合約標(biāo)準(zhǔn) 66
2.10  以太坊交易 75
2.10.1  交易的發(fā)起者、類型及發(fā)起交易的函數(shù) 76
2.10.2  交易和智能合約的關(guān)系 76
2.10.3  交易參數(shù)的說明 77
2.10.4  交易方法的真實含義 80
2.10.5  交易的狀態(tài) 80
2.10.6  交易的打包 83
2.11  “代幣”余額 84
2.12  以太坊瀏覽器 85
2.12.1  區(qū)塊鏈瀏覽器訪問合約函數(shù) 87
2.12.2  區(qū)塊鏈瀏覽器查看交易記錄 89
2.12.3  非ETH交易記錄不能作為資產(chǎn)轉(zhuǎn)賬成功的依據(jù) 91
2.12.4  區(qū)塊鏈瀏覽器查看智能合約的代碼 92
2.13  以太坊零地址 94
2.13.1  零地址的交易轉(zhuǎn)出假象 94
2.13.2  零地址的意義 96
2.14  以太坊2.0 97
2.14.1  核心組件 97
2.14.2  共識的流程 98
2.14.3  嚴(yán)謹(jǐn)?shù)碾S機選擇 99
2.15  小結(jié) 99
第3章  智能合約的編寫、發(fā)布和調(diào)用 101
3.1  智能合約與以太坊DApp 101
3.2  認(rèn)識Remix 102
3.3  實現(xiàn)加法程序 104
3.4  實現(xiàn)ERC20代幣智能合約 106
3.4.1  定義標(biāo)準(zhǔn)變量 106
3.4.2  事件與構(gòu)造函數(shù) 106
3.4.3  Solidity的常見關(guān)鍵字 107
3.4.4  授權(quán)與余額 109
3.4.5  轉(zhuǎn)賬函數(shù) 109
3.4.6  合約的代碼安全 112
3.5  鏈上的合約 113
3.6  認(rèn)識Mist 114
3.6.1  節(jié)點的切換 116
3.6.2  區(qū)塊的同步方式 116
3.7  創(chuàng)建以太坊錢包 116
3.8  使用Mist轉(zhuǎn)賬代幣 119
3.9  使用Mist發(fā)布智能合約 122
3.9.1  合約Solidity源碼 123
3.9.2  認(rèn)識ABI 125
3.9.3  提取ABI和Bytecode 127
3.9.4  使用Bytecode發(fā)布合約 128
3.9.5  使用合約的函數(shù) 131
3.10  Mist的替換品 MyCrypto 133
3.10.1  安裝MyCrypto 134
3.10.2  切換節(jié)點網(wǎng)絡(luò) 134
3.10.3  使用MyCrypto創(chuàng)建錢包 136
3.10.4  使用MyCrypto轉(zhuǎn)賬代幣 137
3.10.5  使用MyCrypto部署智能合約 140
3.11  小結(jié) 141
第4章  以太坊中繼基礎(chǔ)接口 142
4.1  認(rèn)識以太坊中繼 142
4.2  區(qū)塊遍歷 143
4.3  RPC接口 145
4.4  以太坊接口 146
4.4.1  重要接口詳解 147
4.4.2  節(jié)點鏈接 152
4.4.3  獲取鏈接 152
4.4.4  進行測試 156
4.4.5  獲取測試幣 158
4.5  項目準(zhǔn)備 159
4.6  創(chuàng)建項目 162
4.7  個Go程序 165
4.8  封裝RPC客戶端 167
4.8.1  下載依賴庫 167
4.8.2  編寫RPC客戶端 169
4.8.3  單元測試 172
4.9  編寫訪問接口代碼 173
4.9.1  認(rèn)識Call函數(shù) 174
4.9.2  查找請求的參數(shù) 175
4.9.3  實現(xiàn)獲取交易信息 177
4.9.4  認(rèn)識BatchCall函數(shù) 181
4.9.5  批量獲取交易信息 182
4.9.6  批量獲取代幣余額 184
4.9.7  獲取區(qū)塊號 191
4.9.8  根據(jù)區(qū)塊號獲取區(qū)塊信息 192
4.9.9  根據(jù)區(qū)塊哈希值獲取區(qū)塊信息 196
4.9.10  使用eth_call訪問智能合約函數(shù) 197
4.10  小結(jié) 201
第5章  中繼服務(wù)程序的開發(fā) 202
5.1  創(chuàng)建以太坊錢包 202
5.1.1  以太坊錢包術(shù)語 203
5.1.2  創(chuàng)建錢包 204
5.2  實現(xiàn)以太坊交易 208
5.2.1  以太坊交易的原理 208
5.2.2  以太坊ETH的交易 216
5.3  區(qū)塊事件監(jiān)聽 233
5.3.1  創(chuàng)建數(shù)據(jù)庫 235
5.3.2  實現(xiàn)數(shù)據(jù)庫的連接器 235
5.3.3  生成數(shù)據(jù)表 239
5.3.4  區(qū)塊遍歷器 242
5.3.5  理解監(jiān)聽區(qū)塊事件 256
5.4  小結(jié) 257
第6章  比特幣技術(shù)基礎(chǔ) 258
6.1  比特幣的架構(gòu) 258
6.2  獎勵機制 260
6.3  再看 PoW 共識 260
6.3.1  比特幣區(qū)塊頭 260
6.3.2  比特幣PoW的源碼實現(xiàn) 261
6.3.3  比特幣難度值的計算 263
6.4  地址的格式 264
6.4.1  私鑰 264
6.4.2  公鑰 270
6.4.3  地址 272
6.5  比特幣虛擬機 283
6.5.1  虛擬機的特點 283
6.5.2  數(shù)據(jù)源 284
6.5.3  常見的操作碼 286
6.5.4  虛擬機源碼解析 287
6.6  再看UTXO 292
6.6.1  輸入轉(zhuǎn)換 292
6.6.2  交易的結(jié)構(gòu) 293
6.6.3  統(tǒng)計余額 297
6.6.4  構(gòu)建交易 298
6.7  驗簽過程 308
6.8  比特幣鎖定腳本 309
6.8.1  P2PKH 310
6.8.2  P2PK 312
6.8.3  P2SH 313
6.8.4  P2WPKH與P2WSH 313
6.9  小結(jié) 314
第7章  基于比特幣公鏈的DApp案例 315
7.1  搭建比特幣私有鏈 315
7.1.1  下載節(jié)點源碼 315
7.1.2  目錄結(jié)構(gòu) 318
7.1.3  配置文件 319
7.1.4  啟動比特幣節(jié)點 321
7.1.5  啟動終端控制程序 325
7.1.6  創(chuàng)建比特幣錢包 327
7.1.7  導(dǎo)出或?qū)脲X包私鑰 328
7.1.8  主網(wǎng)的挖礦操作 329
7.1.9  私有網(wǎng)絡(luò)挖礦 330
7.1.10  獲得挖礦獎勵 332
7.1.11  發(fā)送交易 333
7.2  OP_RETURN與智能合約 338
7.2.1  公鏈存儲數(shù)據(jù)的需求 338
7.2.2  比特幣的存儲數(shù)據(jù)之法 339
7.2.3  智能合約方案—OP_RETURN 339
7.2.4  代碼實現(xiàn)含有OP_RETURN的交易 340
7.2.5  發(fā)送OP_RETURN交易 344
7.2.6  解碼默認(rèn)的OP_RETURN 347
7.2.7  OP_RETURN數(shù)據(jù)的利用 348
7.3  比特幣的常用RPC接口 349
7.3.1  重要接口介紹 349
7.3.2  獲取節(jié)點連接 358
7.3.3  獲取測試幣 359
7.3.4  編寫訪問RPC接口代碼 359
7.4  案例:實現(xiàn)獲取交易狀態(tài)的解析器 369
7.4.1  相關(guān)程序組件 370
7.4.2  流程設(shè)計 371
7.4.3  用鏈表實現(xiàn)隊列功能 372
7.4.4  實現(xiàn)解析器 375
7.4.5  啟動解析器 380
7.5  案例:構(gòu)建去中心化數(shù)據(jù)存儲系統(tǒng) 383
7.5.1  比特幣區(qū)塊遍歷器的實現(xiàn)流程 383
7.5.2  創(chuàng)建數(shù)據(jù)庫 384
7.5.3  區(qū)塊遍歷器的代碼實現(xiàn) 387
7.5.4  把交易發(fā)送到本地節(jié)點 404
7.5.5  把數(shù)據(jù)存儲到鏈上 408
7.5.6  解析所存儲的數(shù)據(jù) 410
7.6  小結(jié) 411

本目錄推薦

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