Solidity智能合約應(yīng)用開發(fā)(微課版)
定 價:59.8 元
- 作者:翟玉廣,賈麗潔,劉洪海
- 出版時間:2026/1/1
- ISBN:9787115682055
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.135.9
- 頁碼:0
- 紙張:
- 版次:01
- 開本:16開
本書從初學(xué)者的角度出發(fā),介紹智能合約應(yīng)用開發(fā)的核心技術(shù)與編程語言語法。內(nèi)容包括區(qū)塊鏈與智能合約的基本概念、智能合約的編寫與測試方法,以及智能合約在實際項目中的應(yīng)用。重點講解Solidity編程語言的基本語法、函數(shù)定義與使用、面向?qū)ο缶幊碳夹g(shù),以及開發(fā)環(huán)境的配置和使用方法。本書通過有代表性的項目案例,指導(dǎo)學(xué)生實現(xiàn)智能合約的開發(fā)、部署與調(diào)試,并探討其在金融、管理、供應(yīng)鏈等領(lǐng)域的應(yīng)用。通過學(xué)習(xí)本書,學(xué)生能夠掌握智能合約的開發(fā)技能,并具備獨立開發(fā)智能合約應(yīng)用的能力。
本書可以為職業(yè)院校學(xué)生學(xué)習(xí)智能合約應(yīng)用開發(fā)提供系統(tǒng)性指導(dǎo),幫助學(xué)生了解并掌握智能合約的基本概念與開發(fā)技能。
覆蓋Solidity、Web3.js、Remix等主流技術(shù)鏈,直接對應(yīng)區(qū)塊鏈開發(fā)工程師的核心技能需求。
以真實業(yè)務(wù)場景為任務(wù)載體,學(xué)習(xí)成果可直接遷移至企業(yè)級智能合約項目。
提供從合約編寫、部署到前端交互的完整開發(fā)路徑,讓學(xué)生具備構(gòu)建DApp的實戰(zhàn)能力,滿足崗位對應(yīng)用開發(fā)的實際要求。
翟玉廣,碩士,高級工程師,副教授,濟(jì)南職業(yè)學(xué)院計算機(jī)系教師,省級優(yōu)質(zhì)校專業(yè)群、省級品牌專業(yè)群、省級精品課團(tuán)隊、省級教學(xué)團(tuán)隊、省級特色專業(yè)團(tuán)隊主要成員。從事區(qū)塊鏈、人工智能、網(wǎng)絡(luò)技術(shù)等相關(guān)方向的教學(xué)和研究,主要講授《智能合約應(yīng)用開發(fā)》、《聯(lián)盟鏈應(yīng)用開發(fā)》、《Python程序設(shè)計》、《機(jī)器學(xué)習(xí)》、《智能視覺》、《Linux系統(tǒng)管理》、《數(shù)據(jù)庫系統(tǒng)管理》等專業(yè)和基礎(chǔ)課程。有多年企業(yè)軟件開發(fā)的工作經(jīng)驗,長期從事軟件項目的設(shè)計和研發(fā),參與出版了多部計算機(jī)類教材和課程資源建設(shè),擁有多項軟件著作權(quán)和發(fā)明專利。
項目1 認(rèn)識區(qū)塊鏈與智能合約 1
1.1 區(qū)塊鏈和以太坊 2
1.1.1 區(qū)塊鏈介紹 2
1.1.2 以太坊介紹 6
1.2 認(rèn)識智能合約 6
1.2.1 智能合約介紹 6
1.2.2 智能合約原理 7
1.3 智能合約的開發(fā)環(huán)境 11
1.3.1 Remix 11
1.3.2 VS Code 16
任務(wù)1.1 在Remix上部署智能合約 19
任務(wù)1.2 在WeBASE-Front上部署智能合約 20
項目2 開啟Solidity編程之旅 25
2.1 基礎(chǔ)語法 26
2.1.1 基本編寫規(guī)則 26
2.1.2 基礎(chǔ)關(guān)鍵字 27
2.1.3 變量與常量 28
2.1.4 運算符優(yōu)先級 29
2.2 數(shù)據(jù)類型 30
2.2.1 基本數(shù)據(jù)類型 30
2.2.2 復(fù)合數(shù)據(jù)類型 33
2.3 字面量與單位 36
2.3.1 Solidity字面量 37
2.3.2 以太單位和時間單位 38
2.4 變量分類和存儲 40
2.4.1 變量分類與作用域 40
2.4.2 變量的存儲位置 41
2.5 條件語句 44
2.5.1 if條件語句 44
2.5.2 if...else條件語句 44
2.5.3 if...else if條件語句 45
2.6 循環(huán)語句 45
2.6.1 while循環(huán) 45
2.6.2 do...while循環(huán) 46
2.6.3 for循環(huán) 46
2.6.4 break及continue語句 47
任務(wù)2.1 查找100以內(nèi)的質(zhì)數(shù) 47
任務(wù)2.2 投票選舉統(tǒng)計 49
任務(wù)2.3 借書管理(一) 50
項目3 深入理解Solidity函數(shù) 55
3.1 函數(shù)的定義和調(diào)用 56
3.1.1 函數(shù)的定義 56
3.1.2 函數(shù)的調(diào)用 58
3.1.3 函數(shù)可見性與可變性 59
3.2 函數(shù)修飾器 62
3.2.1 函數(shù)修飾器的概念 62
3.2.2 函數(shù)修飾器的使用 63
3.3 構(gòu)造函數(shù)與自毀函數(shù) 64
3.3.1 構(gòu)造函數(shù) 64
3.3.2 自毀函數(shù) 65
3.4 函數(shù)重載 66
3.4.1 函數(shù)重載的概念 66
3.4.2 函數(shù)重載的使用 66
3.5 轉(zhuǎn)賬函數(shù) 67
3.5.1 轉(zhuǎn)賬的概念 67
3.5.2 接收以太的函數(shù) 67
3.5.3 發(fā)送以太的函數(shù) 71
3.6 加密函數(shù)與編碼函數(shù) 74
3.6.1 加密函數(shù) 74
3.6.2 編碼函數(shù) 75
任務(wù)3.1 眾籌合約 78
任務(wù)3.2 藏品拍賣 80
任務(wù)3.3 借書管理(二) 82
項目4 探索合約繼承與接口的使用 87
4.1 合約繼承 88
4.1.1 合約繼承的概念 88
4.1.2 合約繼承中的函數(shù)重寫 89
4.1.3 合約繼承中的構(gòu)造函數(shù) 90
4.1.4 修飾器的繼承與重寫 91
4.2 抽象合約與接口 92
4.2.1 抽象合約 92
4.2.2 Solidity接口 93
4.3 Solidity庫 95
4.3.1 庫介紹 95
4.3.2 庫的使用方法 96
任務(wù)4.1 用戶管理接口 97
任務(wù)4.2 統(tǒng)計學(xué)生成績 99
任務(wù)4.3 借書管理(三) 101
項目5 處理合約中的異常與錯誤 107
5.1 異常處理的概念 108
5.1.1 智能合約中的異常與錯誤 108
5.1.2 拋出與捕獲異!109
5.2 異常處理函數(shù) 110
5.2.1 require()函數(shù) 110
5.2.2 assert()函數(shù) 111
5.2.3 revert()函數(shù) 112
5.2.4 3個函數(shù)的區(qū)別 112
5.3 try/catch異常捕獲 114
5.3.1 try/catch的語法 114
5.3.2 主動拋出異常的捕獲 116
任務(wù)5.1 猜數(shù)游戲 117
任務(wù)5.2 重入攻擊漏洞修復(fù) 120
任務(wù)5.3 借書管理(四) 124
項目6 正確使用事件和日志 130
6.1 日志處理 131
6.1.1 Remix控制臺終端日志 131
6.1.2 Solidity中的日志函數(shù) 132
6.2 事件處理 133
6.2.1 事件的概念 133
6.2.2 事件的使用 133
任務(wù)6.1 電影評價管理 135
任務(wù)6.2 借書管理(五) 139
項目7 學(xué)習(xí)智能合約的測試方法 144
7.1 測試方法和步驟 145
7.1.1 智能合約測試方法 145
7.1.2 智能合約測試步驟 146
7.2 使用Truffle進(jìn)行合約測試 146
7.2.1 測試環(huán)境的安裝 146
7.2.2 Truffle測試步驟 150
7.2.3 Truffle Console模式 157
7.3 Remix中的單元測試 159
7.3.1 啟用單元測試插件 159
7.3.2 Remix單元測試方法 160
任務(wù)7.1 投票合約的Truffle測試 163
任務(wù)7.2 影評管理合約的Truffle測試 165
項目8 Web3.js的使用與實踐 170
8.1 Web3.js介紹 171
8.1.1 Web3.js的概述 171
8.1.2 Web3.js的安裝 171
8.2 使用Web3.js訪問智能合約 174
8.2.1 通過腳本訪問合約 174
8.2.2 監(jiān)聽合約中的事件 178
8.2.3 通過Web3.js進(jìn)行轉(zhuǎn)賬 181
8.2.4 瀏覽器頁面中的合約交互 185
任務(wù)8.1 投票合約的HTML頁面 189
任務(wù)8.2 猜數(shù)游戲的HTML頁面 196
項目9 綜合案例:校園物品共享系統(tǒng) 205
9.1 項目介紹 206
9.1.1 系統(tǒng)架構(gòu)設(shè)計 206
9.1.2 系統(tǒng)功能設(shè)計 207
9.2 項目實現(xiàn) 208
9.2.1 定義狀態(tài)變量 208
9.2.2 實現(xiàn)功能函數(shù) 209
9.3 項目部署測試 213
9.4 項目總結(jié) 217
參考文獻(xiàn) 218