Hyperledger Fabric菜鳥進(jìn)階攻略
定 價(jià):69 元
叢書名:區(qū)塊鏈技術(shù)叢書
- 作者:
- 出版時(shí)間:2019/4/1
- ISBN:9787111623229
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:F713.361.3
- 頁碼:0
- 紙張:
- 版次:
- 開本:16開
本書從架構(gòu),核心部件,到實(shí)際開發(fā),涉及多個(gè)維度,共11章。第1章,Hyperledger Fabric的認(rèn)識(shí)與環(huán)境搭建。第2章,深入淺出Fabric架構(gòu)設(shè)計(jì)。第3章,化繁為簡自行搭建你的Fabric網(wǎng)絡(luò)。第4章,全方位認(rèn)識(shí)鏈碼:鏈碼作用及對(duì)鏈碼進(jìn)行管理與測試。第5章,鏈碼開發(fā)與實(shí)踐。第6章,深入MSP成員管理與Fabric CA服務(wù)實(shí)現(xiàn)。第7章,白話Fabric共識(shí)機(jī)制。第8章,F(xiàn)abric中數(shù)據(jù)分發(fā)機(jī)制的實(shí)現(xiàn)。第9章,F(xiàn)abric分布式賬本數(shù)據(jù)存儲(chǔ)。第10-13章,Web應(yīng)用環(huán)境搭建、架構(gòu)以及基于區(qū)塊鏈技術(shù)的學(xué)歷信息征信系統(tǒng)實(shí)現(xiàn)。
前 言
基 礎(chǔ) 篇
第1章Hyperledger Fabric認(rèn)知與環(huán)境搭建 3
1.1全面認(rèn)識(shí)超級(jí)賬本 3
1.1.1超級(jí)賬本由來 3
1.1.2超級(jí)賬本分類 4
1.1.3認(rèn)識(shí)Hyperledger Fabric 4
1.2邁出第一步:搭建環(huán)境 5
1.2.1操作系統(tǒng) 5
1.2.2安裝所需工具 5
1.3安裝Hyperledger Fabric 10
1.3.1下載fabric-samples與二進(jìn)制文件 10
1.3.2Hyperledger Fabric源碼方式編譯 12
1.4測試Hyperledger Fabric網(wǎng)絡(luò)環(huán)境 17
1.4.1測試Hyperledger Fabric環(huán)境 18
1.4.2構(gòu)建你的第一個(gè)Hyperledger Fabric網(wǎng)絡(luò) 18
第2章深入淺出介紹Hyperledger Fabric架構(gòu)設(shè)計(jì) 21
2.1透視邏輯架構(gòu)與運(yùn)行時(shí)架構(gòu) 21
2.1.1邏輯架構(gòu) 21
2.1.2運(yùn)行時(shí)架構(gòu) 22
2.2Hyperledger Fabric交易流程分析 24
2.3Hyperledger Fabric核心配置文件詳解 28
2.3.1core.yaml詳解 29
2.3.2orderer.yaml詳解 36
第3章搭建自己的Hyperledger Fabric網(wǎng)絡(luò) 39
3.1生成組織結(jié)構(gòu)與身份證書 39
3.1.1與組織結(jié)構(gòu)及身份證書關(guān)聯(lián)的配置文件 39
3.1.2如何生成組織結(jié)構(gòu)及身份證書 40
3.2不可或缺的配置文件 45
3.2.1conf?igtx.yaml配置文件指定的核心內(nèi)容 45
3.2.2Orderer服務(wù)啟動(dòng)初始區(qū)塊的創(chuàng)建 47
3.2.3創(chuàng)建必需的應(yīng)用通道交易配置文件 48
3.2.4生成錨節(jié)點(diǎn)更新配置文件 49
3.3一分鐘啟動(dòng)分布式網(wǎng)絡(luò) 49
3.3.1網(wǎng)絡(luò)服務(wù)的配置 50
3.3.2關(guān)聯(lián)的docker-compose-base.yaml 52
3.3.3又被關(guān)聯(lián)的peer-base.yaml 54
3.3.4啟動(dòng)網(wǎng)絡(luò) 55
3.4以最快的方式完成應(yīng)用通道的創(chuàng)建 57
3.4.1創(chuàng)建應(yīng)用通道 57
3.4.2將節(jié)點(diǎn)加入應(yīng)用通道 58
3.4.3更新錨節(jié)點(diǎn) 59
鏈 碼 篇
第4章全方位認(rèn)識(shí)鏈碼:鏈碼管理與測試 63
4.1初識(shí)鏈碼:鏈碼的概念與原理 63
4.2鏈碼使用:安裝、實(shí)例化、查詢與調(diào)用 65
4.2.1安裝鏈碼 66
4.2.2實(shí)例化鏈碼 66
4.2.3查詢鏈碼 67
4.2.4調(diào)用鏈碼 67
4.3鏈碼的其他操作:實(shí)現(xiàn)鏈碼的打包與升級(jí) 69
4.3.1鏈碼的打包與簽名 69
4.3.2鏈碼的升級(jí) 70
4.4開發(fā)模式下的測試:簡化鏈碼的測試過程 72
4.4.1啟動(dòng)網(wǎng)絡(luò) 72
4.4.2構(gòu)建并啟動(dòng)鏈碼 73
4.4.3調(diào)用鏈碼 74
第5章鏈碼開發(fā)與實(shí)踐 77
5.1如何利用Fabric提供的接口編寫鏈碼 77
5.1.1鏈碼接口 78
5.1.2必要結(jié)構(gòu) 78
5.2如何操作賬本數(shù)據(jù):熟悉鏈碼相關(guān)API 79
5.3鏈碼實(shí)現(xiàn)的Hello World 81
5.3.1鏈碼開發(fā) 82
5.3.2鏈碼測試 84
5.4動(dòng)手編碼一:鏈碼實(shí)現(xiàn)資產(chǎn)管理 85
5.4.1資產(chǎn)鏈碼開發(fā) 85
5.4.2鏈碼測試 88
5.5動(dòng)手編碼二:鏈碼實(shí)現(xiàn)轉(zhuǎn)賬 89
5.5.1轉(zhuǎn)賬鏈碼開發(fā) 89
5.5.2鏈碼測試 97
核 心 篇
第6章MSP成員管理與Hyperledger Fabric CA服務(wù)實(shí)現(xiàn) 101
6.1走進(jìn)MSP 101
6.1.1MSP的定義與作用 101
6.1.2MSP的組成結(jié)構(gòu) 102
6.1.3MSP應(yīng)用 103
6.2認(rèn)識(shí)與安裝Hyperledger Fabric CA 105
6.3啟動(dòng)Hyperledger Fabric CA 107
6.3.1初始化 107
6.3.2快速啟動(dòng) 108
6.3.3配置數(shù)據(jù)庫 109
6.3.4配置LDAP 110
6.4應(yīng)用Hyperledger Fabric CA的客戶端命令 111
6.4.1Hyperledger Fabric CA客戶端命令 112
6.4.2查看AKI和序列號(hào) 116
第7章白話Hyperledger Fabric共識(shí)機(jī)制 118
7.1Hyperledger Fabric中的共識(shí)實(shí)現(xiàn) 118
7.1.1共識(shí)算法的屬性和類型 118
7.1.2Hyperledger Fabric中的共識(shí)實(shí)現(xiàn) 120
7.2基于Kafka排序服務(wù)的實(shí)現(xiàn) 121
7.2.1指定Kafka實(shí)現(xiàn)排序服務(wù) 122
7.2.2配置網(wǎng)絡(luò)環(huán)境 123
7.2.3啟動(dòng)網(wǎng)絡(luò) 129
7.2.4測試Kafka排序服務(wù) 131
7.3多鏈及多通道實(shí)現(xiàn) 133
7.3.1多鏈及多通道 133
7.3.2應(yīng)用多通道 135
第8章Hyperledger Fabric中數(shù)據(jù)分發(fā)機(jī)制的實(shí)現(xiàn) 139
8.1認(rèn)識(shí)Gossip 139
8.1.1Gossip協(xié)議 139
8.1.2Gossip數(shù)據(jù)傳輸 140
8.2Hyperledger Fabric中數(shù)據(jù)同步的實(shí)現(xiàn) 141
8.2.1Hyperledger Fabric中的Gossip 141
8.2.2Hyperledger Fabric的數(shù)據(jù)同步實(shí)現(xiàn) 144
第9章Hyperledger Fabric分布式賬本數(shù)據(jù)存儲(chǔ) 147
9.1交易數(shù)據(jù)的存儲(chǔ) 147
9.1.1區(qū)塊鏈賬本數(shù)據(jù) 147
9.1.2數(shù)據(jù)存儲(chǔ) 150
9.2Hyperledger Fabric狀態(tài)數(shù)據(jù)庫 154
9.2.1CouchDB數(shù)據(jù)庫簡介 154
9.2.2CouchDB在Hyperledger Fabric中的具體實(shí)現(xiàn) 154
9.2.3測試CouchDB 159
項(xiàng)目實(shí)戰(zhàn)篇
第10章 Web項(xiàng)目實(shí)戰(zhàn)之環(huán)境搭建 165
10.1 環(huán)境準(zhǔn)備清單 165
10.2 搭建網(wǎng)絡(luò)環(huán)境 166
10.2.1網(wǎng)絡(luò)環(huán)境準(zhǔn)備 166
10.2.2配置docker-compose.yml文件 167
10.2.3測試網(wǎng)絡(luò)環(huán)境 171
第11章 Web項(xiàng)目實(shí)戰(zhàn)之使用Fabric-SDK-Go 173
11.1 創(chuàng)建Fabric-SDK對(duì)象并建立通道 173
11.1.1配置Fabric-SDK 173
11.1.2定義所需結(jié)構(gòu)體 177
11.1.3創(chuàng)建Fabric-SDK 178
11.1.4測試創(chuàng)建通道 179
11.2 滿足依賴 180
11.2.1安裝dep工具 180
11.2.2下載所需依賴 181
11.2.3測試Fabric-SDK 181
11.2.4關(guān)閉網(wǎng)絡(luò)并清理環(huán)境 182
11.2.5利用Makef?ile簡化步驟 182
11.3 鏈碼實(shí)現(xiàn) 184
11.4 使用Fabric-SDK實(shí)現(xiàn)鏈碼的自動(dòng)部署 186
11.4.1添加結(jié)構(gòu)體成員 186
11.4.2使用Fabric-SDK安裝及實(shí)例化鏈碼 187
11.4.3在main中調(diào)用 188
11.4.4測試 188
第12章 Web項(xiàng)目實(shí)戰(zhàn)之Web應(yīng)用實(shí)現(xiàn) 190
12.1 理解MVC,合理地設(shè)計(jì)應(yīng)用 190
12.2 調(diào)用鏈碼:設(shè)計(jì)業(yè)務(wù)層 192
12.2.1事件處理 192
12.2.2調(diào)用鏈碼添加狀態(tài) 193
12.2.3調(diào)用鏈碼查詢狀態(tài) 194
12.3 MVC架構(gòu)應(yīng)用實(shí)現(xiàn) 196
第13章 實(shí)戰(zhàn):構(gòu)建學(xué)歷信息征信系統(tǒng) 201
13.1 需求分析與架構(gòu)設(shè)計(jì) 201
13.1.1需求分析 201
13.1.2架構(gòu)設(shè)計(jì) 202
13.1.3數(shù)據(jù)模型設(shè)計(jì) 202
13.1.4網(wǎng)絡(luò)環(huán)境 203
13.1.5測試網(wǎng)絡(luò)環(huán)境 205
13.2 SDK與鏈碼的實(shí)現(xiàn) 205
13.2.1創(chuàng)建conf?ig.yaml文件 205
13.2.2聲明結(jié)構(gòu)體 205
13.2.3編寫鏈碼 206
13.2.4Fabric-SDK-Go實(shí)現(xiàn) 211
13.2.5安裝依賴 214
13.2.6鏈碼自動(dòng)部署 216
13.3 業(yè)務(wù)層實(shí)現(xiàn) 218
13.3.1事件處理 218
13.3.2業(yè)務(wù)層調(diào)用鏈碼實(shí)現(xiàn)添加狀態(tài) 219
13.3.3根據(jù)證書編號(hào)與姓名查詢狀態(tài) 221
13.3.4根據(jù)身份證號(hào)碼查詢狀態(tài) 223
13.3.5修改/添加信息狀態(tài) 224
13.4 控制層實(shí)現(xiàn) 226
13.4.1設(shè)置系統(tǒng)用戶 226
13.4.2處理響應(yīng) 228
13.4.3處理請(qǐng)求 228
13.4.4指定路由 228
13.5 視圖層實(shí)現(xiàn) 228
13.5.1目錄結(jié)構(gòu) 228
13.5.2相關(guān)源碼實(shí)現(xiàn) 229
13.5.3照片上傳 230
13.6 項(xiàng)目交互演示 231
13.6.1啟動(dòng)Web服務(wù) 231
13.6.2訪問頁面 232
附錄 詞匯術(shù)語表 235