區塊鏈開發實戰:Hyperledger Fabric 關鍵技術與案例分析 区块链开发实战:Hyperledger Fabric关键技术与案例分析

馮翔, 劉濤, 吳壽鶴, 周廣益

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

商品描述

本書以HyperledgerFabric和比特幣這兩個典型區塊鏈技術平臺的核心技術、開發方法和相關的項目案例為核心內容,還提供了大量的命令腳本和代碼示例供讀者參考,力圖使讀者在短的時間內掌握這兩個平臺的使用方法。本書首先從基本認識的角度對區塊鏈進行了宏觀上的介紹,然後講解了HyperledgerFabric的核心技術、原理、開發方法,以及多個項目案例,後講解了比特幣的原理、運行方式、重要模塊和編程接口等內容,環環相扣,結構緊密,體系嚴謹。

作者簡介

吳壽鶴

資深區塊鏈技術專家,
IONChain(離子鏈)首席架構師,HyperLedger核心項目開發人員,
同時對以太坊相關技術有深入研究。
是國內區塊鏈技術領域的早期實踐者和佈道者,
一直積極推動區塊鏈技術的傳播和應用落地,
是國內知名區塊鏈技術社區“區塊鏈兄弟”的聯合創始人,
目前從事基於物聯網的區塊鏈底層基礎平台的開發。
個人主頁:http://gcc2ge.github.io。

馮翔

資深區塊鏈技術專家,
IONChain(離子鏈)CTO,
上海旺鏈科技區塊鏈研究院負責人,
Hyperledger核心項目核心代碼開發者。
中國區塊鏈技術的早期探索者和傳播者,
創立了有廣泛影響力的區塊鏈技術社區“區塊鏈兄弟”。
已經參與過多個基於區塊鏈技術的落地項目,
現階段主要致力於區塊鏈技術和傳統行業的融合,
尤其關注區塊鏈技術和物聯網技術的結合。

劉濤

上海旺鏈信息科技有限公司CEO,
IONChain(離子鏈)創始人,
致力於結合中國本土情況的區塊鏈研究開發,
現為複旦大學區塊鏈研究生課程講師。
前埃森哲高級總監,
在高科技製造、汽車、金融行業有超過15年的業務諮詢和技術架構經驗,
曾擔任華為、Alcatel-Iucent、上汽通用、平安、中國移動高端外部顧問。

周廣益

上海指旺金科CEO,
中國區塊鏈技術的早期探索者,
36Kr、未央網、共享財經等媒體特約作家,
現為複旦大學軟件學院特聘講師。

目錄大綱

第1章全面認識區塊鏈1 
1.1區塊鏈技術的起源和解釋1 
1.2區塊鏈的核心技術及其特性2 
1.2.1區塊鏈技術的特性3 
1.2.2區塊鏈的分佈式存儲技術特性3 
1.2.3區塊鏈的密碼學技術特性4 
1.2.4區塊鏈中的共識機制8 
1.2.5區塊鏈中的智能合約12 
1.3區塊鏈技術演進過程13 
1.4區塊鏈技術的3個缺點13 
1.5區塊鏈技術常見的4個錯誤認識14 
1.6區塊鏈技術的應用領域15 
1.6.1區塊鏈在金融行業的應用15 
1.6.2區塊鏈在供應鏈中的應用16 
1.6.3區塊鏈在公證領域的應用17 
1.6.4區塊鏈在數字版權領域的應用18 
1.6.5區塊鏈在保險行業的應用19 
1.6.6區塊鏈在公益慈善領域的應用21 
1.6.7區塊鏈與智能製造22 
1.6.8區塊鏈在教育就業中的應用23 
1.7區塊鏈的其他常見技術框架24 
1.8本章小結25 

第2章實戰準備26 
2.1開發環境準備26 
2.1.1操作系統的配置26
2.1.2 Docker的使用27 
2.1.3 Git的使用30 
2.2開發語言30 
2.2.1 GO語言30 
2.2.2 Node.js 32 
2.3常用工具32 
2.3.1 Curl 32 
2.3.2 tree 33 
2.3.3 Jq 33 
2.4本章小結34 

第3章Hyperledger簡介35 
3.1 Hyperledger綜述35 
3.1.1 Hyperledger的項目背景35 
3.1.2 Hyperledger的項目成員36 
3.2 Hyperledger的體系結構37 
3.2.1獲取Hyperledger源代碼並成為開發者37 
3.2. 2 Hyperledger的9個正式項目38 
3.3本章小結43 

第4章Fabric快速入門44 
4.1 Fabric的技術特性44 
4.1.1 Fabric的多賬本特性44 
4.1.2 Fabric的智能合約45 
4.1.3 Fabric的權限系統46 
4.1.4 Fabric的共識算法47 
4.2Hyperledger中與Fabric相關的項目47 
4.3 Fabric的模塊、安裝和使用48
4.3.1 Fabric的編譯和安裝49 
4.3.2 Fabric模塊安裝結果檢查50 
4.3.3利用Docker運行Fabric相關模塊51 
4.4快速運行一個簡單的Fabric網絡53 
4.4.1 Fabric環境準備53 
4.4.2生成Fabric需要的證書文件54 
4.4.3創始塊的生成56 
4.4.4 Orderer節點的啟動59 
4.4.5 Peer節點的啟動60 
4.4.6創建通道64 
4.4.7 Chaincode的部署和調用65 
4.5本章小結66 

第5章Fabric核心模塊詳解67 
5.1Fabric的核心模塊功能、通用選項和命令67 
5.1.1 Fabric核心模塊及其功能67 
5.1.2 Fabric模塊的通用選項和命令68 
5.2Fabric模塊的子命令、選項和配置文件68 
5.2.1 cryptogen 69 
5.2.2 conf?igtxgen 74 
5.2.3 conf?igtxlator 77 
5.2.4 orderer 79 
5.2.5 peer 85 
5.3 Fabric模塊在系統中的作用92 
5.3.1peer模塊在Fabric系統中的作用92
5.3.2orderer模塊在Fabric系統中的作用95 
5.4Fabric數據安全傳輸的方式95 
5.4.1Fabric中orderer模塊TLS設置95 
5.4.2 Fabric中peer模塊TLS設置96 
5.5本章小結98 

第6章Fabric的賬號體系99 
6.1 Fabric賬號簡介99 
6.1.1 Fabric賬號是什麼99 
6.1.2什麼地方需要使用Fabric的賬號101 
6.2基於cryptogen的賬號管理體系103 
6.3 Fabric賬號服務器:Fabric-ca 106 
6.3.1 Fabric-ca的編譯和安裝107 
6.3.2fabric-ca-server的啟動和配置108 
6.3.3 fabric-ca-client的使用115 
6.4將fabric-ca-server綁定到現有項目中117 
6.5本章小結120 

第7章Fabric的智能合約詳解121 
7.1 Chaincode初探121 
7.2快速編寫和運行一個Chaincode 122 
7.3Golang版本的Chaincode的代碼結構125 
7.3.1 Chaincode源代碼的基本結構125 
7.3.2 shim包的核心方法127
7.3.3ChaincodeStubInterface接口中的核心方法128 
7.4Chaincode相關的操作命令和選項136 
7.5如何通過Chaincode進行交易的endorse 140 
7.6 Chaincode的調試方法142 
7.6.1Chaincode在Docker容器之外的運行142 
7.6.2 Chaincode在IDE中的調試145 
7.7本章小結148 

第8章Fabric和Fabric-ca的編程接口149 
8.1Fabric接口的通信協議和功能劃分149 
8.2 Fabric Nodejs SDK的使用151 
8.2.1如何獲取Fabric Nodejs SDK源代碼151 
8.2. 2快速構建基於Nodejs的Fabric客戶端151 
8.2.3Fabric Nodejs SDK中TLS的設置159 
8.3 Fabric Java SDK 160 
8.3.1 Fabric Java SDK的安裝160 
8.3.2Fabric Java SDK的常用接口161 
8.3.3Fabirc Java SDK中TLS的設置169 
8.4 Fabric Go SDK 170 
8.4.1 Fabric Golang的安裝170 
8.4.2創建配置文件170
8.4.3一個簡單的Golang訪問Fabric的例子171 
8.4.4Fabric Golang SDK其他用法174 
8.4.5Fabric Golang SDK的背書操作176 
8.5本章小結176 

第9章Fabric系統架構設計177 
9.1 Fabric架構中的組織規劃177 
9.1 .1確認組織178 
9.1.2組織的管理方式178 
9.2 Fabric系統的結構179 
9.2.1 Fabric系統的邏輯結構179 
9.2.2 Fabric系統的物理結構181 
9.3 Fabric中Channe