區塊鏈原理、技術及應用

範凌傑

  • 出版商: 機械工業
  • 出版日期: 2022-01-01
  • 定價: $479
  • 售價: 8.5$407
  • 語言: 簡體中文
  • 頁數: 207
  • 裝訂: 平裝
  • ISBN: 7111696778
  • ISBN-13: 9787111696773
  • 相關分類: 區塊鏈 Blockchain
  • 立即出貨

買這商品的人也買了...

商品描述

本書是一本系統介紹區塊鏈理論知識和應用開發的教程。
全書共10章,主要分為兩部分,區塊鏈理論知識(第1~3章):
包括區塊鏈概述、區塊鏈中的密碼學以及區塊鏈的核心機制;區塊鏈應用開發(第4~10章):
包括打造自己的個區塊鏈—基於Python、智能合約開發實踐—基於Solidity、
以太坊之DApp開發實戰—基於Truffle框架、超級賬本開發實戰—基於Go語言、
Libra開發實踐—基於Move語言、區塊鏈即服務平台(BaaS)以及區塊鏈綜合應用開發實踐。
本書在系統介紹區塊鏈理論知識的基礎上,結合豐富的案例進行實踐操作的講解,
力求引領讀者在實踐中深入理解區塊鏈技術,具備基於主流的區塊鏈平台開發區塊鏈實際應用的能力。
本書可以作為區塊鏈開發者的自學用書,
也可作為開設區塊鏈開發相關課程的各類院校、培訓機構的教材。

作者簡介

範凌傑

互聯網行業從業者,現任BIGE區塊鏈遊戲智能合約開發負責人,
研發工作主要涉及Web開發、機器學習、區塊鍊等技術領域。
愛編程、愛跑步,跑出自己軌跡,編寫精彩人生。

目錄大綱

目錄
前言
第1章 區塊鏈概述1
1.1 什麼是區塊鏈1
1.1.1 區塊鏈的概念2
1.1.2 區塊的概念3
1.1.3 區塊鏈的運行原理7
1.1.4 模擬生成一個區塊鏈8
1.2 區塊鏈的技術構成與邏輯架構13
1.2.1 區塊鏈的技術構成13
1.2.2 區塊鏈的邏輯架構15
1.3 區塊鏈的分類18
1.3.1 公有鏈、聯盟鍊和私有鏈18
1.3.2 跨鏈19
1.4 區塊鏈的特點20
1.5 區塊鏈的發展歷程21
1.6 區塊鏈的典型應用23
1.6.1 加密數字貨幣的代表—比特幣23
1.6.2 智能合約鼻祖—以太坊24
1.6.3 迪士尼區塊鏈平台—龍鏈25
1.6.4 Linux基金會的開源賬本—Hyperledger26
1.6.5 區塊鏈操作系統—EOS26
1.6.6 中國央行數字貨幣DC/EP27
1.6.7 去中心化金融(DeFi)的崛起30
1.6.8 全球通用支付平台—Libra33
1.6.9 區塊鏈即服務平台—BaaS34
1.7 區塊鏈應用的開發技術34
1.7.1 常用的區塊鏈應用開發技術34
1.7.2 常用的區塊鏈應用開發方式34
1.8 區塊鏈技術的現狀及展望35
1.8.1 區塊鏈技術的現狀35
1.8.2 未來的區塊鏈36

第2章 區塊鏈中的密碼學38
2.1 哈希算法和哈希值38
2.1.1 什麼是哈希算法和哈希值38
2.1.2 哈希算法的特點39
2.1.3 哈希算法的應用40
2.2 區塊鏈涉及的密碼學知識42
2.2.1 對稱加密算法和非對稱加密算法42
2.2.2 橢圓曲線密碼學42
2.2.3 Merkle樹43
2.2.4 數字簽名和數字證書45

第3章 區塊鏈的核心機制47
3.1 共識機制47
3.1.1 共識問題的產生—拜占庭將軍問題47
3.1.2 幾個重要的共識機制49
3.2 賬戶、錢包和交易54
3.2.1 賬戶54
3.2.2 錢包55
3.2.3 交易56
3.3 智能合約58
3.3.1 智能合約的概念58
3.3.2 智能合約的特點和作用59
3.3.3 智能合約的應用場景59

第4章 打造自己的個區塊鏈—基於Python61
4.1 Python基礎61
4.1.1 Python簡介61
4.1.2 Python基礎語法70
4.1.3 Python區塊鏈開發常用庫74
4.2 基於Python實現區塊鏈76
4.2.1 區塊鏈原型的實現77
4.2.2 區塊鏈之工作量證明79
4.2.3 錢包、賬戶和交易功能82
4.2.4 實現一個簡單的去中心化網絡88
4.2.5 測試區塊鍊網絡功能91

第5章 智能合約開發實戰—基於Solidity94
5.1 搭建開發環境95
5.1.1 安裝以太坊測試環境Ganache95
5.1.2 安裝和使用以太坊錢包96
5.2 Solidity語言簡介101
5.3 智能合約的開發102
5.3.1 編譯器Remix的使用103
5.3.2 開發智能合約“helloBlockchain”103

第6章 以太坊之DApp開發實戰—基於Truffle框架108
6.1 什麼是DApp(去中心化應用)108
6.1.1 DApp的概念108
6.1.2 DApp的特點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開發實例1—猜拳遊戲115
6.3.1 使用Truffle創建項目115
6.3.2 智能合約的實現116
6.3.3 猜拳遊戲用戶界面的實現118
6.4 DApp開發實例2—寵物商店121
6.4.1 寵物商店功能簡述121
6.4.2 準備工作122
6.4.3 智能合約的實現和部署123
6.4.4 寵物商店的完整實現124

第7章 超級賬本開發實戰—基於Go語言127
7.1 超級賬本概述127
7.1.1 超級賬本的架構127
7.1.2 超級賬本Fabric的架構130
7.1.3 超級賬本Fabric的特點131
7.2 搭建Fabric開發環境132
7.2.1 Go語言簡介及其開發環境安裝132
7.2.2 Docker簡介及使用134
7.2.3 安裝Fabric的開發環境138
7.3 Chaincode的開發部署及使用139
7.3.1 什麼是Chaincode139
7.3.2 Chaincode的開發和使用140
7.3.3 Chaincode的打包142
7.4 超級賬本開發實例1—建立一個Fabric網絡142
7.4.1 構建第1個Fabric網絡142
7.4.2 與Fabric網絡的交互144
7.4.3 查詢和更新超級賬本146
7.5 超級賬本開發實例2—fabcar區塊鏈應用147
7.5.1 fabcar功能概述148
7.5.2 fabcar結構說明148
7.5.3 fabcar的開發和部署148

第8章 Libra開發實戰—基於Move語言156
8.1 Libra簡介156
8.1.1 什麼是Libra156
8.1.2 Libra的架構和特點158
8.2 Libra的Move語言159
8.2.1 Move語言的特性160
8.2.2 Move語言基本語法160
8.3 Libra開發實戰163
8.3.1 Libra開發環境搭建163
8.3.2 實現名為ZCoin的數字貨幣165

第9章 區塊鏈即服務平台(BaaS)171
9.1 BaaS簡介171
9.1.1 什麼是BaaS171
9.1.2 BaaS架構172
9.2 主流BaaS平台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實戰177
9.3.1 功能介紹177
9.3.2 實例開發177

第10章 區塊鏈綜合應用開發實踐184
10.1 以太坊數據查詢分析系統184
10.1.1 準備對接環境184
10.1.2 對接以太坊接口188
10.1.3 創建Flask應用191
10.1.4 實現查詢和分析功能193
10.2 ERC20代幣開發實例200
10.2.1 ERC20代幣介紹200
10.2.2 ERC20代幣開發—Mini Token202
10.3 基於OpenSea平台開發數字資產“加密豬”206
10.3.1 OpenSea介紹207
10.3.2 開發加密豬207