內容簡介
本書從區塊鏈、Rust語言講起,到基於Rust的網絡編程,再到使用Rust實現一個區塊鏈原型,最後講解基於Rust和Substrate的區塊鏈開發實例,內容循序漸進,結構清晰合理。本書分為基礎技術和高級應用兩部分。第1~3章 為基礎技術部分,主要介紹了區塊鏈基礎、Rust語言的語法特徵和高級特性,包括所有權、切片和泛型等,並給出了充足的案例。第4~8章 為高級應用部分,在Rust工程化的基礎上實現了一個區塊鏈原型,並使用Substrate框架簡化了區塊鏈開發流程,以實現快速開發;還通過豐富的實例,進一步鞏固讀者對Rust和區塊鏈相關知識的理解。本書著重介紹基本概念和基本原理,側重應用實操,突出工程實踐,力圖做到基本概念準確、條理清晰、內容精練、重點突出、理論聯繫實際。
本書可作為軟件工程、計算機科學與技術、工程管理、數據科學與大數據技術等專業的”區塊鏈”相關課程教材,也可供相關領域的科技人員參考使用。
作者簡介
薛志東:
華中科技大學軟件學院教學科研並重崗教授(研究員),博士生導師,主要研究領域包含基於區塊鏈的應用安全、大數據與人工智能應用、智能軟件技術及生物信息處理等。主持國家自然科學基金、華為技術有限公司委託項目等多個科研項目;主持編寫大數據、區塊鏈相關教材4本,申請國家發明專利20余項;主持研發了iTrip智慧導遊、金品果鏈等區塊鏈相關產品,具有豐富的軟件開發經驗。現擔任山東省生物信息學會副理事長、中國計算機學會生物信息學專業委員會委員、中國人工智能學會生物信息學與人工生命專業委員會委員、中國電子學會生物計算與生物信息處理專業委員會理事等職務。
目錄
【章 名
目錄】
第 1章 緒論
第 2章 Rust語言基礎
第3章 Rust語言進階
第4章 初識Substrate框架
第5章 賬戶地址與共識機制
第6章 交易、存儲與鏈下操作
第7章 智能合約
第8章 Substrate開發實例——Substrate Kitties
【詳細
目錄】
第 1章 緒論
1 1 區塊鏈的產生、發展階段與分類 1
1 1 1 區塊鏈的產生 1
1 1 2 區塊鏈的發展階段 2
1 1 3 區塊鏈的分類 4
1 2 區塊鏈的基礎技術 6
1 2 1 區塊鏈的相關概念 6
1 2 2 密碼學基礎 7
1 2 3 共識算法 9
1 2 4 智能合約 11
1 2 5 P2P網絡 12
1 3 代表性系統與框架 14
1 3 1 比特幣系統 14
1 3 2 以太坊 16
1 3 3 超級賬本 17
1 3 4 長安鏈 19
1 3 5 Substrate和Polkadot網絡 20
1 4 Rust環境安裝與配置 21
1 4 1 在Windows上安裝Rust 21
1 4 2 在Linux或macOS上安裝Rust 23
1 4 3 安裝Visual Studio Code 23
1 4 4
第 一個Rust項目 24
1 4 5 認識Cargo 25
1 5 本章 小結 26
1 6 習題 26
第 2章 Rust語言基礎
2 1 Rust語言簡介 27
2 1 1 Rust的主要設計目標 27
2 1 2 Rust適用的應用開發場景 27
2 2 通用的編程概念 28
2 2 1 變量 28
2 2 2 數據類型 28
2 2 3 函數 30
2 2 4 控制流 31
2 3 所有權 33
2 3 1 變量與數據交互的方式 34
2 3 2 引用與借用 35
2 3 3 切片 37
2 4 Rust結構體 38
2 4 1 結構體類型的定義 38
2 4 2 結構體類型變量的定義 39
2 4 3 結構體類型變量的引用 39
2 4 4 結構體方法 39
2 5 Rust枚舉 40
2 5 1 枚舉類型的定義 40
2 5 2 使用枚舉 41
2 5 3 Option枚舉 43
2 5 4 match語句 43
2 6 本章 小結 46
2 7 習題 46
第3章 Rust語言進階
3 1 Rust組織管理 48
3 1 1 Rust中模塊的定義 48
3 1 2 公開的模塊和公開的函數 50
3 1 3 創建公有的結構體和枚舉 50
3 1 4 use關鍵字 51
3 2 通用的集合類型 52
3 2 1 Vector 52
3 2 2 字符串 54
3 2 3 散列表 57
3 3 泛型與Traits 59
3 3 1 泛型 59
3 3 2 Traits 61
3 4 Rust多線程併發編程 62
3 5 用於區塊鏈開發的Rust包 63
3 6 本章 小結 66
3 7 習題 66
第4章 初識Substrate框架
4 1 Substrate入門 68
4 1 1 Substrate的組成架構 68
4 1 2 使用Substrate框架構建區塊鏈網絡的方式 69
4 2 構建第 一條Substrate鏈 70
4 2 1 環境配置 70
4 2 2 編譯啟動Substrate節 點模板 72
4 2 3 使用前端模板交互 75
4 2 4 使用其他方式交互 78
4 2 5 節 點模板的結構 82
4 3 為運行時導入一個Pallet 85
4 3 1 Pallet和Frame的概念 85
4 3 2 導入Nicks Pallet 86
4 3 3 設置Nicks Pallet 88
4 3 4 與Nicks Pallet交互 91
4 4 本章 小結 94
4 5 習題 94
第5章 賬戶地址與共識機制
5 1 密碼學基礎 95
5 1 1 加密算法 95
5 1 2 Substrate中的密碼學 97
5 2 賬戶、地址與密鑰 99
5 2 1 賬戶與地址結構 99
5 2 2 賬戶類型與密鑰 101
5 3 SS58地址規範 102
5 3 1 Subkey 102
5 3 2 地址格式與地址驗證 104
5 4 共識機制 106
5 4 1 分叉選擇與最終化 106
5 4 2 區塊生成與最終化 108
5 4 3 默認的共識機制 108
5 5 區塊鏈網絡實驗 110
5 5 1 模擬網絡 110
5 5 2 創建專有網絡 114
5 5 3 創建許可網絡 116
5 6 本章 小結 120
5 7 習題 120
第6章 交易、存儲與鏈下操作
6 1 交易 121
6 1 1 交易的定義 121
6 1 2 交易池與交易優先級 122
6 1 3 交易的生命週期 123
6 2 存儲 125
6 2 1 存儲的結構 125
6 2 2 存儲的使用 128
6 2 3 SCALE編解碼器 129
6 3 鏈下操作 132
6 3 1 鏈下操作的概念與原理 132
6 3 2 使用鏈下工作機提交交易 134
6 4 DApp開發 139
6 4 1 創建前的準備工作 139
6 4 2 創建PoE Pallet 140
6 4 3 與DApp交互 145
6 4 4 創建自定義前端 147
6 4 5 發佈自定義的Pallet 151
6 5 本章 小結 151
6 6 習題 152
第7章 智能合約
7 1 智能合約簡介 153
7 1 1 智能合約的概念與優勢 153
7 1 2 智能合約與運行時Pallet 154
7 1 3 Wasm、以太坊虛擬機與執行器 156
7 2 ink!入門 160
7 2 1 為什麼選擇Rust/ink!開發智能合約 161
7 2 2 環境安裝 163
7 2 3 ink!使用 164
7 2 4 智能合約模板解析 168
7 3 ink!實現ERC20標準代幣 171
7 3 1 ERC20標準 171
7 3 2 實驗指南 172
7 4 本章 小結 179
7 5 習題 180
第8章 Substrate開發實例——Substrate Kitties
8 1 開發概述 181
8 1 1 加密貓簡介 181
8 1 2 獲取開發模板 181
8 2 基礎功能開發 182
8 2 1 創建Pallet框架 182
8 2 2 定義相關的數據結構 184
8 2 3 定義存儲 186
8 2 4 生成函數 187
8 2 5 處理錯誤 188
8 2 6 測試功能 189
8 3 與鏈上玩家交互 190
8 3 1 設置價格 190
8 3 2 轉讓 191
8 3 3 出售與購買 192
8 3 4 繁殖 194
8 3 5 測試功能 194
8 4 本章 小結 196
8 5 習題 196
詳細資料或其他書籍請至台灣高等教育出版社查詢,查後請於客服中心或Line或本社留言板留言,我們即儘速上架。