溫馨提示:
《區塊鏈開發實戰:Hyperledger Fabric關鍵技術與案例分析》和《區塊鏈開發實戰:以太坊關鍵技術與案例分析》兩本書有部分內容是重復的,這麼安排並不是為瞭湊篇幅,而是經過精心考慮的。
主要原因如下: 以太坊和Hyperledger Fabric是兩個不同的技術平颱,涉及的技術都非常多,讀者一般不會同時學習並在這兩個平颱上進行開發,於是我們沒有將這兩個主題的內容放到一本書中,這樣便於讀者按需選擇。 兩本書的前兩章是相同的,因為這兩章的內容對兩個平颱的用戶來說是通用的,而且是都需要瞭解和學習的。 兩本書關於比特幣的內容是相同的,因為比特幣係統是齣現*早、運行*穩定的區塊鏈技術平颱,它的很多概念和核心技術對其他區塊鏈平颱有非常好的藉鑒意義,值得所有區塊鏈開發者學習。
基本信息
作者: 吳壽鶴 馮翔 劉濤 周廣益
叢書名: 區塊鏈技術叢書
齣版社:機械工業齣版社
ISBN:9787111599562
上架時間:2018-6-1
齣版日期:2018 年6月
開本:16開
版次:1-1
所屬分類:計算機
目錄
前言
第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章 以太坊介紹 35
3.1 瞭解以太坊 35
3.2 以太坊發展路綫 36
3.3 以太坊內置貨幣 37
3.4 以太坊交易吞吐量 38
3.5 以太坊賬戶 39
3.6 智能閤約 40
3.7 Gas與GasPrice 41
3.8 工作量證明算法 41
3.9 以太坊網絡類型 42
3.10 以太坊客戶端 43
3.11 本章小結 44
第4章 以太坊的編譯、安裝與運行 45
4.1 在Ubuntu下安裝 45
4.2 在MacOS下安裝 46
4.3 在Windows下安裝 46
4.4 以Docker方式安裝 47
4.5 運行以太坊 47
4.6 本章小結 47
第5章 以太坊私有鏈的搭建與運行 48
5.1 搭建一個私有鏈 48
5.2 以太坊控製颱命令 53
5.3 以太坊CLI控製颱命令 64
5.3.1 賬戶管理 64
5.3.2 區塊數據管理 65
5.4 以太坊TestRPC測試鏈搭建 69
5.5 本章小結 78
第6章 以太坊的編程接口 79
6.1 web3.js API 79
6.1.1 安裝web3.js並創建實例 79
6.1.2 賬戶相關API 80
6.1.3 交易相關API 80
6.1.4 區塊相關API 87
6.2 JSON-RPC API 87
6.2.1 賬戶相關API 88
6.2.2 交易相關API 89
6.2.3 區塊相關API 94
6.3 本章小結 95
第7章 Solidity IDE和Solidity快速入門 96
7.1 三種Solidity IDE 96
7.1.1 browser-solidity 96
7.1.2 Atom 97
7.1.3 IntelliJ IDEA 97
7.2 Solidity快速入門:編寫一個簡單的銀行閤約案例 99
7.3 本章小結 101
第8章 Solidity語法詳解 102
8.1 注釋 102
8.2 整型和布爾型 103
8.2.1 整型 103
8.2.2 布爾型 104
8.3 地址 104
8.4 字節數組 105
8.4.1 固定長字節數組 105
8.4.2 動態長度字節數組 105
8.5 類型轉換和類型推斷 106
8.5.1 類型轉換 106
8.5.2 類型推斷 107
8.6 時間單位和貨幣單位 107
8.6.1 時間單位 107
8.6.2 貨幣單位 108
8.7 數組和多維數組 108
8.7.1 數組 108
8.7.2 多維數組 109
8.8 映射/字典 109
8.9 結構體與枚舉 111
8.9.1 結構體 111
8.9.2 枚舉 112
8.10 全局變量 112
8.11 控製結構 113
8.12 函數 114
8.13 事件 122
8.14 閤約 124
8.15 繼承 125
8.16 抽象閤約 127
8.17 接口 128
8.18 庫 128
8.19 Using for 128
8.20 引入其他源文件 129
8.21 狀態變量/局部變量 129
8.22 數據位置 130
8.22.1 數據位置概述 130
8.22.2 數據位置之間相互轉換 130
8.23 異常處理 132
8.24 編寫安全solidity智能閤約最佳實踐 133
8.24.1 盡早拋齣異常 133
8.24.2 結構化函數代碼順序 134
8.24.3 在支付時使用pull模式而不是push模式 134
8.24.4 整數上溢和下溢 136
8.25 本章小結 137
第9章 Solidity 閤約編譯、部署 138
9.1 編譯閤約 138
9.1.1 安裝solc編譯工具 138
9.1.2 開始編譯閤約 139
9.2 部署閤約 141
9.2.1 啓動以太坊geth節點 141
9.2.2 部署智能閤約 143
9.3 調用閤約 145
9.4 本章小結 146
第10章 Truffle詳解 147
10.1 什麼是Truffle 147
10.2 安裝Truffle 148
10.3 創建並初始化項目 149
10.4 創建閤約 150
10.5 編譯閤約 150
10.6 遷移閤約 151
10.7 閤約交互 156
10.7.1 交易 156
10.7.2 調用 157
10.7.3 閤約抽象 157
10.7.4 與閤約交互 158
10.7.5 添加一個新閤約到網絡 159
10.7.6 使用現有閤約地址 160
10.7.7 嚮閤約發送以太幣 161
10.8 測試閤約 163
10.9 測試 164
10.10 Solidity測試 165
10.11 Truffle 配置文件 167
10.12 依賴管理 169
10.13 本章小結 171
第11章 以太坊DApps應用開發實戰 172
11.1 DApps架構與開發流程 172
11.1.1 DApps架構 VS Web應用架構 172
11.1.2 DApps開發流程 173
11.2 案例:去中心化微博 174
11.2.1 創建項目 175
11.2.2 閤約 176
11.2.3 前端應用 181
11.3 本章小結 192
附錄A 比特幣的原理和運行方式 193
附錄B 比特幣的bitcoin-cli模塊詳解 203
附錄C 比特幣係統的編程接口 213
附錄D 比特幣係統客戶端項目實戰 218
附錄E 區塊鏈相關術語 225
後記 228
↑摺 疊
前言
基本信息
作者: 馮翔 劉濤 吳壽鶴 周廣益
叢書名: 區塊鏈技術叢書
齣版社:機械工業齣版社
ISBN:9787111599425
上架時間:2018-6-1
齣版日期:2018 年6月
開本:16開
版次:1-1
所屬分類:計算機
目錄
前言
第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.2 Hyperledger中與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.1 Fabric的核心模塊功能、通用選項和命令 67
5.1.1 Fabric核心模塊及其功能 67
5.1.2 Fabric模塊的通用選項和命令 68
5.2 Fabric模塊的子命令、選項和配置文件 68
5.2.1 cryptogen 69
5.2.2 configtxgen 74
5.2.3 configtxlator 77
5.2.4 orderer 79
5.2.5 peer 85
5.3 Fabric模塊在係統中的作用 92
5.3.1 peer模塊在Fabric係統中的作用 92
5.3.2 orderer模塊在Fabric係統中的作用 95
5.4 Fabric數據安全傳輸的方式 95
5.4.1 Fabric中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.2 fabric-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.3 Golang版本的Chaincode的代碼結構 125
7.3.1 Chaincode源代碼的基本結構 125
7.3.2 shim包的核心方法 127
7.3.3 ChaincodeStubInterface接口中的核心方法 128
7.4 Chaincode相關的操作命令和選項 136
7.5 如何通過Chaincode進行交易的endorse 140
7.6 Chaincode的調試方法 142
7.6.1 Chaincode在Docker容器之外的運行 142
7.6.2 Chaincode在IDE中的調試 145
7.7 本章小結 148
第8章 Fabric和Fabric-ca的編程接口 149
8.1 Fabric接口的通信協議和功能劃分 149
8.2 Fabric Nodejs SDK的使用 151
8.2.1 如何獲取Fabric Nodejs SDK源代碼 151
8.2.2 快速構建基於Nodejs的Fabric客戶端 151
8.2.3 Fabric Nodejs SDK中TLS的設置 159
8.3 Fabric Java SDK 160
8.3.1 Fabric Java SDK的安裝 160
8.3.2 Fabric Java SDK的常用接口 161
8.3.3 Fabirc 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.4 Fabric Golang SDK其他用法 174
8.4.5 Fabric 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中Channel的設計 181
9.4 Chaincode 182
9.5 數據訪問層 183
9.6 曆史遺留係統的兼容 185
9.7 Fabric係統的維護和管理 186
9.8 本章小結 187
第10章 Fabric開發實戰:開發流程與實例詳解 188
10.1 Fabric項目的開發流程 188
10.2 Fabric項目開發實例詳解 191
10.2.1 係統初始化 191
10.2.2 Orderer節點的初始化和啓動 193
10.2.3 啓動第一個Peer 198
10.2.4 Channel的創建和加入 200
10.2.5 啓動當前組織的Fabric-ca 202
10.2.6 測試Chaincode的部署和開發 202
10.2.7 客戶端的開發 203
10.2.8 啓動本組織的其他Peer 205
10.2.9 其他組織Peer節點的加入 208
10.2.10 背書交易的測試 210
10.2.11 非初始化組織的加入 214
10.3 本章小結 220
第11章 基於Fabric的區塊鏈瀏覽器項目實戰 221
11.1 項目介紹 221
11.2 開發過程 222
11.2.1 項目準備 222
11.2.2 項目開發 222
11.3 本章小結 229
第12章 基於Fabric的供應鏈金融項目實戰 230
12.1 供應鏈金融的背景知識和痛點 230
12.1.1 供應鏈金融的背景知識 230
12.1.2 供應鏈金融的痛點 231
12.1.3 用Fabric解決供應鏈金融痛點的方法 231
12.2 用Fabric構建供應鏈金融係統的方法 232
12.2.1 係統的設計 232
12.2.2 係統環境搭建 233
12.2.3 客戶端開發 239
12.3 本章小結 244
第13章 基於Fabric的食品溯源項目實戰 245
13.1 數據溯源的背景知識和痛點 245
13.1.1 數據溯源的背景知識 245
13.1.2 數據溯源的痛點 245
13.2 Fabric如何優化數據溯源係統 246
13.3 Fabric如何構建數據溯源係統 246
13.3.1 係統環境搭建 247
13.3.2 客戶端開發 262
13.4 本章小結 271
附錄A 比特幣的原理和運行方式 272
附錄B 比特幣的bitcoin-cli模塊詳解 282
附錄C 比特幣係統的編程接口 292
附錄D 比特幣係統客戶端項目實戰 297
附錄E 區塊鏈相關術語 304
↑摺 疊
前言
為何寫作本書
近年來區塊鏈技術逐步占據各大技術類網站的頭條,各種基於區塊鏈特性的想法和創新層齣不窮。這些繁榮是區塊鏈技術在幕後默默支撐的,可是人們經常忽略區塊鏈的技術而把投資、融資、保值等金融屬性和區塊鏈畫上瞭等號。其實區塊鏈本質上還是一門技術。區塊鏈技術源於比特幣,經過近幾年的發展,已經超越比特幣逐步形成一門單獨的技術體係。目前區塊鏈技術已經滲透到各行各業中,比如區塊鏈技術同大數據、人工智能等技術産生瞭讓人意想不到的化學反應。我們有理由相信區塊鏈技術在未來一定會成為IT基礎技術之一,成為每個IT技術人員必備的基礎技能。
同時我們也可以看到區塊鏈技術在國內外的發展非常迅速。在國外,IBM發起瞭超級賬本項目,並把超級賬本項目的源碼捐獻給瞭Linux基金,藉助社區的力量來發展。全球已經有將近200多個公司和組織加入瞭超級賬本,成為超級賬本項目的會員。當然其他巨頭也隨之跟進,微軟早就和以太坊達成瞭戰略閤作協議。互聯網巨頭Google、社交媒體行業的龍頭Facebook等在區塊鏈領域均有所布局。
但是在繁榮的背後我們也應該看到危機,目前區塊鏈技術在實際項目中的應用還存在不少問題。我們認為齣現這種情況是因為目前區塊鏈技術的實用化還存在以下障礙:
技術新,學習資料匱乏。區塊鏈技術是最近幾年剛剛興起的一門綜閤技術,目前資料特彆是中文資料還是比較缺乏的。
技術種類多,有一定的學習成本。區塊鏈是一門綜閤型的技術,如果把每個單項技術列齣來學習並不難,但是當把這些技術組閤起來之後學習難度就大大增加瞭。
可藉鑒的成功案例少。由於區塊鏈技術是一門比較新的技術,因此目前缺少比較成功的案例。即使諸如IBM等巨頭開發瞭一些成功案例,但是由於各種各樣的原因,目前並沒有公開,這些都給廣大技術人員學習區塊鏈技術特彆是把區塊鏈技術應用到具體項目中造成瞭一定的障礙。
這些問題的存在是我們編寫“區塊鏈開發實戰”係列圖書的目的,第一批有兩本書同時麵世,分彆是基於Hyperledger Fabric和以太坊進行區塊鏈開發實戰。我們希望讀者通過這兩本書,在瞭解區塊鏈的基本概念和核心技術的同時,能夠將區塊鏈技術更多應用到具體的項目中,解決現有技術無法解決的一些行業痛點。
讀者對象
這兩本書都非常適閤區塊鏈開發工程師、區塊鏈架構師、區塊鏈技術愛好者閱讀。
其中:
Hyperledger Fabric部分更適閤對Hyperledger Fabric和比特幣技術感興趣的相關技術人員;
以太坊部分更適閤以太坊愛好者、以太坊DAPP開發者、比特幣開發者等。
主要內容
《區塊鏈開發實戰:Hyperledger Fabric關鍵技術與案例分析》
這本書以Hyperledger Fabric和比特幣這兩個典型區塊鏈技術平颱的核心技術、開發方法和相關的項目案例為核心內容,此外,還提供瞭大量的命令腳本和代碼示例供讀者參考,力圖使讀者在最短的時間內掌握這兩個平颱的使用方法。
全書分為三個部分:
第一部分(第1~2章):首先從基本認識的角度對區塊鏈進行瞭宏觀上的介紹,包括區塊鏈技術的起源和演進過程、區塊鏈核心技術及其特性、區塊鏈技術的缺點和常見錯誤認識,以及區塊鏈技術的應用領域和常見的技術框架;然後介紹瞭進行區塊鏈開發需要掌握的技術和使用的工具。
第二部分(第3~13章):主要講解瞭Hyperledger Fabric的核心技術、原理、開發方法,以及多個項目案例。包括Hyperledger的全麵介紹、Fabric的技術特性和快速入門、Fabric的核心模塊和賬號體係、Fabric的智能閤約和編程接口、Fabric的係統架構與設計、Fabric項目案例的開發流程和方法,以及幾個綜閤性的案例,如區塊鏈瀏覽器、供應鏈金融、食品溯源等。
第三部分(附錄):主要講解瞭比特幣的原理、運行方式、重要模塊和編程接口,同時還講解瞭一個比特幣客戶端的案例。
評分
評分
評分
評分
評分
評分
評分
評分
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有