區塊鏈技術進階與實戰 区块链技术进阶与实战

蔡亮 李啟雷 梁秀波

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

商品描述

本書從實戰的角度出發,結合實際應用開發場景,對區塊鏈技術進行了全面介紹和剖析。全書共分為四個部分:D一部分對區塊鏈進行了全景分析,介紹了其概念、歷史、技術流派、主要公司和典型應用場景,並給出了當前區塊鏈產業生態圖譜;D二部分對知名開源區塊鏈平臺以太坊和HyperLedger進行了詳細解讀,並介紹瞭如何基於這兩個平臺進行區塊鏈應用開發;第三部分以自主可控聯盟區塊鏈Hyperchain為例,分析了企業級區塊鏈平臺的核心技術,介紹了基於Hyperchain的企業級區塊鏈應用開發技術;第四部分介紹了多個區塊鏈實際應用項目案例,並對開發過程和關鍵代碼進行了詳細分析。本書不僅全面深入,而且註重實戰,非常適合區塊鏈開發人員由淺入深地學習區塊鏈技術。
本書適用於對區塊鏈技術感興趣的程序員、架構師和高校學生,非常適合 作為高校教材和培訓資料。

作者簡介

蔡亮,博士,副教授,浙江大學計算機學院軟件工程系主任,浙江省重大科技專項專家。主要從事區塊鏈、雲計算、網絡安全、可信計算和金融業務處理的研究,在*核心期刊和國際會議上發表了數十篇論文。參與了多項國家級或省部級科研項目,如國防軍工預研基金項目、國家創新基金項目、863項目等。獲得教育部科技進步一等獎、浙江省科技進步一等獎和三等獎。

李啟雷,博士,講師,杭州趣鏈科技有限公司首席技術官。主要從事體感人機交互、區塊鍊和移動互聯網技術等方面的研究與開發。作為核心研究人員參與國家863計劃和國家科技支撐計劃,在國內外知名學術期刊和會議發表論文九篇,獲得國家發明專利一項、軟件著作權一項。

梁秀波,博士,副研究員,杭州趣鏈科技有限公司副總經理。主要從事機器學習、區塊鏈、數字娛樂和移動互聯網等方面的研究與開發,曾赴法國進行為期一年的訪問研究。作為核心研究人員參與國家級和省部級科研項目近十項,主持企事業單位委託項目二十餘項。已發表論文十餘篇,獲得國家發明專利三項。

目錄大綱

D一部分區塊鏈基礎
D1章區塊鏈基礎入門2 
1.1區塊鏈基礎知識2 
1.1.1從比特幣到區塊鏈2 
1.1.2區塊鏈定義3 
1.1.3區塊鏈相關概念4 
1.1.4區塊鏈分類6 
1.2區塊鏈發展歷程8 
1.2.1技術起源8 
1.2.2區塊鏈1.0——“數字貨幣” 9 
1.2.3區塊鏈2.0——智能合約9 
1.2.4區塊鏈3.0——超越貨幣、
經濟和市場10 
1.3區塊鏈關鍵技術10 
1.3.1基礎模型10 
1.3.2數據層11 
1.3.3網絡層16 
1.3.4共識層17 
1.3.5激勵層19 
1.3.6合約層20 
1.4區塊鏈產業現狀21 
1.4.1區塊鏈發展態勢21 
1.4.2區塊鏈政府規劃22 
1.4.3區塊鏈生態圖譜25 
1.5區塊鏈應用場景26 
1.5.1數字票據26 
1.5.2供應鏈金融27 
1.5.3應收賬款27 
1.5.4數據交易27 
1.5.5債券交易28
1.5.6大宗交易28 
1.5.7其他場景28 
1.6區塊鍊主流平台29 
1.7本章小結31 

D二部分開源區塊鏈平台
D2章以太坊深入解讀36 
2.1以太坊基礎入門36 
2.1.1以太坊發展歷史36 
2.1.2以太坊基本概念37 
2.1.3以太坊客戶端39 
2.1.4以太坊賬戶管理43 
2.1.5以太坊網絡46 
2.2以太坊核心原理46 
2.2.1以太坊共識機制47 
2.2.2以太坊虛擬機49 
2.2.3以太坊數據存儲51 
2.2.4以太坊加密算法53 
2.3以太坊智能合約53 
2.3.1智能合約與Solidity簡介54 
2.3.2智能合約的編寫與部署56 
2.3.3智能合約測試與執行67 
2.3.4智能合約實例分析71 
2.4以太坊重大事件與現存問題74 
2.4.1 The DAO攻擊事件74 
2.4.2以太坊現存問題75 
2.5本章小結77 

第3章以太坊應用開發基礎78 
3.1以太坊開發環境搭建78 
3.1.1配置以太坊環境78 
3.1.2搭建以太坊私有鏈80
3.2以太坊集成開發環境83 
3.2.1 Mix IDE 83 
3.2.2 Solidity在線實時編譯器IDE 86 
3.3以太坊編程接口89 
3.3.1 JSON RPC 89 
3.3.2 JavaScript API 94 
3.4 DApp開發框架與流程97 
3.4. 1 Meteor 97 
3.4.2 Truffle 100 
3.4.3分層可擴展開發流程102 
3.5 D一個以太坊應用104 
3.5.1優化MetaCoin應用104 
3.5.2 MetaCoin代碼詳解106 
3.5.3 MetaCoin應用運行109 
3.6本章小結111 

第4章Hyperledger Fabric深入解讀112 
4.1項目介紹112 
4.1.1項目背景112 
4.1.2項目簡介113 
4.2 Fabric簡介115 
4.3核心概念116 
4.4架構詳解118 
4.4.1架構解讀118 
4.4.2成員服務120 
4.4. 3區塊鏈服務124 
4.4.4合約代碼服務127 
4.5合約代碼分析128 
4.5.1合約代碼概述128
4.5.2合約代碼結構129 
4.5.3 CLI命令行調用131 
4.5.4鏈碼執行泳道圖132 
4.6交易流程133 
4.6.1通用流程133 
4.6.2流程詳解135 
4.6.3背書策略138 
4.7本章小結139 

第5章Hyperledger Fabric應用開發
基礎140 
5.1環境部署140 
5.1.1軟件下載與安裝140 
5.1.2開發環境搭建142 
5.1.3 Go和Docker 144 
5.2鏈碼開髮指南147 
5.2.1實現智能合約的接口147 
5.2.2智能合約的依賴關係148 
5.2.3智能合約的數據格式148 
5.2.4智能合約的接口解析149 
5.2.5智能合約案例代碼分析149 
5.3 CLI應用實例152 
5.3.1 CLI介紹152 
5.3.2 CLI應用開發153 
5.4 SDK應用實例163 
5.4.1 SDK介紹163 
5.4.2 SDK應用開發165 
5.5本章小結169 

第三部分企業級區塊鏈平台Hyperchain 
第6章企業級區塊鏈平台核心原理
剖析172 
6.1 Hyperchain整體架構172 
6.2共識算法174 
6.2.1 RBFT概述174 
6.2.2 RBFT常規流程174 
6.2.3 RBFT視圖更換176 
6.2.4 RBFT自動恢復177 
6.2.5 RBFT節點增刪178 
6.3智能合約179 
6.3 .1智能合約執行引擎180 
6.3.2 HyperVM設計原理180 
6.3.3 HyperVM執行流程181 
6.4賬本數據存儲機制183 
6.4.1區塊鏈183 
6.4.2合約狀態185 
6.4.3 Merkle樹186 
6.5安全與隱私機制189 
6.5.1多級加密機制189 
6.5.2基於CA的權限控制190 
6.6可視化監管平台191 
6.6.1 Hypervision概覽191 
6.6.2 Hypervision區塊鏈管理192 
6.6.3 Hypervision合約管理193 
6.7本章小結194 

第7章Hyperchain應用開發基礎195 
7.1平台功能195 
7.1.1 JSON-RPC格式195 
7.1.2交易調用196
7.1.3合約管理200 
7.1.4區塊查詢203 
7.2平台部署206 
7.2.1 Hyperchain配置207 
7.2.2 Hyperchain部署207 
7.2.3 Hyperchain運行209 
7.3 D一個Hyperchain應用210 
7.3.1編寫智能合約211 
7.3. 2部署與合約調用212 
7.4本章小結212 

第四部分區塊鏈應用案例
第8章以太坊應用實戰案例詳解214 
8.1基於以太坊的通用積分系統案例
分析214 
8.1.1項目簡介214 
8.1.2系統功能分析215 

8.1.3系統總體設計216 
8.1.4智能合約設計218 
8.1.5系統實現224 
8.1.6系統部署233 
8.2基於以太坊的電子優惠券系統案例分析235 
8.2.1項目簡介235 
8.2.2系統功能分析236 
8.2.3系統總體設計237 
8.2.4智能合約設計239 
8.2.5系統實現與部署246 
8.3本章小結250 

第9章企業級區塊鏈應用實戰案例詳解251
9.1基於Hyperchain的數字票據系統案例分析251 
9.1.1項目簡介251 
9.1.2系統功能分析252 
9.1.3系統總體設計253 
9.1.4智能合約設計256 
9.1.5系統實現與部署261 
9.2基於Hyperchain的出行打車平台案例分析263 
9.2.1項目簡介263 
9.2.2系統功能分析264 
9.2.3系統總體設計267 
9.2.4智能合約設計269 
9.2.5系統實現與部署284 
9.3本章小結286*