區(qū)塊鏈原理、技術(shù)及應(yīng)用
定 價(jià):79.9 元
- 作者:范凌杰
- 出版時(shí)間:2022/1/1
- ISBN:9787111696773
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類(lèi):TP311.135.9
- 頁(yè)碼:207
- 紙張:
- 版次:
- 開(kāi)本:16開(kāi)
本書(shū)是一本系統(tǒng)介紹區(qū)塊鏈理論知識(shí)和應(yīng)用開(kāi)發(fā)的教程。全書(shū)共10章,主要分為兩部分,區(qū)塊鏈理論知識(shí)(第1~3章):包括區(qū)塊鏈概述、區(qū)塊鏈中的密碼學(xué)以及區(qū)塊鏈的核心機(jī)制;區(qū)塊鏈應(yīng)用開(kāi)發(fā)(第4~10章):包括打造自己的第一個(gè)區(qū)塊鏈—基于Python、智能合約開(kāi)發(fā)實(shí)踐—基于Solidity、以太坊之DApp開(kāi)發(fā)實(shí)戰(zhàn)—基于Truffle框架、超級(jí)賬本開(kāi)發(fā)實(shí)戰(zhàn)—基于Go語(yǔ)言、Libra開(kāi)發(fā)實(shí)踐—基于Move語(yǔ)言、區(qū)塊鏈即服務(wù)平臺(tái)(BaaS)以及區(qū)塊鏈綜合應(yīng)用開(kāi)發(fā)實(shí)踐。本書(shū)在系統(tǒng)介紹區(qū)塊鏈理論知識(shí)的基礎(chǔ)上,結(jié)合豐富的案例進(jìn)行實(shí)踐操作的講解,力求引領(lǐng)讀者在實(shí)踐中深入理解區(qū)塊鏈技術(shù),具備基于主流的區(qū)塊鏈平臺(tái)開(kāi)發(fā)區(qū)塊鏈實(shí)際應(yīng)用的能力。
本書(shū)可以作為區(qū)塊鏈開(kāi)發(fā)者的自學(xué)用書(shū),也可作為開(kāi)設(shè)區(qū)塊鏈開(kāi)發(fā)相關(guān)課程的各類(lèi)院校、培訓(xùn)機(jī)構(gòu)的教材。
目錄
前言
第1章 區(qū)塊鏈概述1
1.1 什么是區(qū)塊鏈1
1.1.1 區(qū)塊鏈的概念2
1.1.2 區(qū)塊的概念3
1.1.3 區(qū)塊鏈的運(yùn)行原理7
1.1.4 模擬生成一個(gè)區(qū)塊鏈8
1.2 區(qū)塊鏈的技術(shù)構(gòu)成與邏輯架構(gòu)13
1.2.1 區(qū)塊鏈的技術(shù)構(gòu)成13
1.2.2 區(qū)塊鏈的邏輯架構(gòu)15
1.3 區(qū)塊鏈的分類(lèi)18
1.3.1 公有鏈、聯(lián)盟鏈和私有鏈18
1.3.2 跨鏈19
1.4 區(qū)塊鏈的特點(diǎn)20
1.5 區(qū)塊鏈的發(fā)展歷程21
1.6 區(qū)塊鏈的典型應(yīng)用23
1.6.1 加密數(shù)字貨幣的代表—比特幣23
1.6.2 智能合約鼻祖—以太坊24
1.6.3 迪士尼區(qū)塊鏈平臺(tái)—龍鏈25
1.6.4 Linux基金會(huì)的開(kāi)源賬本—Hyperledger26
1.6.5 區(qū)塊鏈操作系統(tǒng)—EOS26
1.6.6 中國(guó)央行數(shù)字貨幣DC/EP27
1.6.7 去中心化金融(DeFi)的崛起30
1.6.8 全球通用支付平臺(tái)—Libra33
1.6.9 區(qū)塊鏈即服務(wù)平臺(tái)—BaaS34
1.7 區(qū)塊鏈應(yīng)用的開(kāi)發(fā)技術(shù)34
1.7.1 常用的區(qū)塊鏈應(yīng)用開(kāi)發(fā)技術(shù)34
1.7.2 常用的區(qū)塊鏈應(yīng)用開(kāi)發(fā)方式34
1.8 區(qū)塊鏈技術(shù)的現(xiàn)狀及展望35
1.8.1 區(qū)塊鏈技術(shù)的現(xiàn)狀35
1.8.2 未來(lái)的區(qū)塊鏈36
第2章 區(qū)塊鏈中的密碼學(xué)38
2.1 哈希算法和哈希值38
2.1.1 什么是哈希算法和哈希值38
2.1.2 哈希算法的特點(diǎn)39
2.1.3 哈希算法的應(yīng)用40
2.2 區(qū)塊鏈涉及的密碼學(xué)知識(shí)42
2.2.1 對(duì)稱(chēng)加密算法和非對(duì)稱(chēng)加密算法42
2.2.2 橢圓曲線(xiàn)密碼學(xué)42
2.2.3 Merkle樹(shù)43
2.2.4 數(shù)字簽名和數(shù)字證書(shū)45
第3章 區(qū)塊鏈的核心機(jī)制47
3.1 共識(shí)機(jī)制47
3.1.1 共識(shí)問(wèn)題的產(chǎn)生—拜占庭將軍問(wèn)題47
3.1.2 幾個(gè)重要的共識(shí)機(jī)制49
3.2 賬戶(hù)、錢(qián)包和交易54
3.2.1 賬戶(hù)54
3.2.2 錢(qián)包55
3.2.3 交易56
3.3 智能合約58
3.3.1 智能合約的概念58
3.3.2 智能合約的特點(diǎn)和作用59
3.3.3 智能合約的應(yīng)用場(chǎng)景59
第4章 打造自己的第一個(gè)區(qū)塊鏈—基于Python61
4.1 Python基礎(chǔ)61
4.1.1 Python簡(jiǎn)介61
4.1.2 Python基礎(chǔ)語(yǔ)法70
4.1.3 Python區(qū)塊鏈開(kāi)發(fā)常用庫(kù)74
4.2 基于Python實(shí)現(xiàn)區(qū)塊鏈76
4.2.1 區(qū)塊鏈原型的實(shí)現(xiàn)77
4.2.2 區(qū)塊鏈之工作量證明79
4.2.3 錢(qián)包、賬戶(hù)和交易功能82
4.2.4 實(shí)現(xiàn)一個(gè)簡(jiǎn)單的去中心化網(wǎng)絡(luò)88
4.2.5 測(cè)試區(qū)塊鏈網(wǎng)絡(luò)功能91
第5章 智能合約開(kāi)發(fā)實(shí)戰(zhàn)—基于Solidity94
5.1 搭建開(kāi)發(fā)環(huán)境95
5.1.1 安裝以太坊測(cè)試環(huán)境Ganache95
5.1.2 安裝和使用以太坊錢(qián)包96
5.2 Solidity語(yǔ)言簡(jiǎn)介101
5.3 智能合約的開(kāi)發(fā)102
5.3.1 編譯器Remix的使用103
5.3.2 開(kāi)發(fā)智能合約“helloBlockchain”103
第6章 以太坊之DApp開(kāi)發(fā)實(shí)戰(zhàn)—基于Truffle框架108
6.1 什么是DApp(去中心化應(yīng)用)108
6.1.1 DApp的概念108
6.1.2 DApp的特點(diǎn)109
6.1.3 知名的DApp110
6.2 Truffle框架112
6.2.1 Truffle框架介紹112
6.2.2 Truffle的安裝和常用命令112
6.2.3 Truffle中模板的使用114
6.3 DApp開(kāi)發(fā)實(shí)例1—猜拳游戲115
6.3.1 使用Truffle創(chuàng)建項(xiàng)目115
6.3.2 智能合約的實(shí)現(xiàn)116
6.3.3 猜拳游戲用戶(hù)界面的實(shí)現(xiàn)118
6.4 DApp開(kāi)發(fā)實(shí)例2—寵物商店121
6.4.1 寵物商店功能簡(jiǎn)述121
6.4.2 準(zhǔn)備工作122
6.4.3 智能合約的實(shí)現(xiàn)和部署123
6.4.4 寵物商店的完整實(shí)現(xiàn)124
第7章 超級(jí)賬本開(kāi)發(fā)實(shí)戰(zhàn)—基于Go語(yǔ)言127
7.1 超級(jí)賬本概述127
7.1.1 超級(jí)賬本的架構(gòu)127
7.1.2 超級(jí)賬本Fabric的架構(gòu)130
7.1.3 超級(jí)賬本Fabric的特點(diǎn)131
7.2 搭建Fabric開(kāi)發(fā)環(huán)境132
7.2.1 Go語(yǔ)言簡(jiǎn)介及其開(kāi)發(fā)環(huán)境安裝132
7.2.2 Docker簡(jiǎn)介及使用134
7.2.3 安裝Fabric的開(kāi)發(fā)環(huán)境138
7.3 Chaincode的開(kāi)發(fā)部署及使用139
7.3.1 什么是Chaincode139
7.3.2 Chaincode的開(kāi)發(fā)和使用140
7.3.3 Chaincode的打包142
7.4 超級(jí)賬本開(kāi)發(fā)實(shí)例1—建立一個(gè)Fabric網(wǎng)絡(luò)142
7.4.1 構(gòu)建第1個(gè)Fabric網(wǎng)絡(luò)142
7.4.2 與Fabric網(wǎng)絡(luò)的交互144
7.4.3 查詢(xún)和更新超級(jí)賬本146
7.5 超級(jí)賬本開(kāi)發(fā)實(shí)例2—fabcar區(qū)塊鏈應(yīng)用147
7.5.1 fabcar功能概述148
7.5.2 fabcar結(jié)構(gòu)說(shuō)明148
7.5.3 fabcar的開(kāi)發(fā)和部署148
第8章 Libra開(kāi)發(fā)實(shí)戰(zhàn)—基于Move語(yǔ)言156
8.1 Libra簡(jiǎn)介156
8.1.1 什么是Libra156
8.1.2 Libra的架構(gòu)和特點(diǎn)158
8.2 Libra的Move語(yǔ)言159
8.2.1 Move語(yǔ)言的特性160
8.2.2 Move語(yǔ)言基本語(yǔ)法160
8.3 Libra開(kāi)發(fā)實(shí)戰(zhàn)163
8.3.1 Libra開(kāi)發(fā)環(huán)境搭建163
8.3.2 實(shí)現(xiàn)名為ZCoin的數(shù)字貨幣165
第9章 區(qū)塊鏈即服務(wù)平臺(tái)(BaaS)171
9.1 BaaS簡(jiǎn)介171
9.1.1 什么是BaaS171
9.1.2 BaaS架構(gòu)172
9.2 主流BaaS平臺(tái)173
9.2.1 IBM BaaS173
9.2.2 微軟BaaS174
9.2.3 亞馬遜BaaS175
9.2.4 甲骨文BaaS175
9.2.5 螞蟻BaaS176
9.3 BaaS實(shí)戰(zhàn)177
9.3.1 功能介紹177
9.3.2 實(shí)例開(kāi)發(fā)177
第10章 區(qū)塊鏈綜合應(yīng)用開(kāi)發(fā)實(shí)踐184
10.1 以太坊數(shù)據(jù)查詢(xún)分析系統(tǒng)184
10.1.1 準(zhǔn)備對(duì)接環(huán)境184
10.1.2 對(duì)接以太坊接口188
10.1.3 創(chuàng)建Flask應(yīng)用191
10.1.4 實(shí)現(xiàn)查詢(xún)和分析功能193
10.2 ERC20代幣開(kāi)發(fā)實(shí)例200
10.2.1 ERC20代幣介紹200
10.2.2 ERC20代幣開(kāi)發(fā)—Mini Token202
10.3 基于OpenSea平臺(tái)開(kāi)發(fā)數(shù)字資產(chǎn)“加密豬”206
10.3.1 OpenSea介紹207
10.3.2 開(kāi)發(fā)加密豬207