Rust語言區塊鏈開發實戰
薛誌東
- 出版商: 人民郵電
- 出版日期: 2025-06-01
- 售價: $359
- 語言: 簡體中文
- ISBN: 7115666350
- ISBN-13: 9787115666352
-
相關分類:
Rust 語言、程式語言、區塊鏈 Blockchain
下單後立即進貨 (約4週~6週)
相關主題
商品描述
本書從區塊鏈、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