Solidity智能合約應(yīng)用開發(fā)(微課版)
定 價(jià):59.8 元
- 作者:翟玉廣,賈麗潔,劉洪海
- 出版時(shí)間:2026/1/1
- ISBN:9787115682055
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.135.9
- 頁(yè)碼:0
- 紙張:
- 版次:01
- 開本:16開
本書從初學(xué)者的角度出發(fā),介紹智能合約應(yīng)用開發(fā)的核心技術(shù)與編程語(yǔ)言語(yǔ)法。內(nèi)容包括區(qū)塊鏈與智能合約的基本概念、智能合約的編寫與測(cè)試方法,以及智能合約在實(shí)際項(xiàng)目中的應(yīng)用。重點(diǎn)講解Solidity編程語(yǔ)言的基本語(yǔ)法、函數(shù)定義與使用、面向?qū)ο缶幊碳夹g(shù),以及開發(fā)環(huán)境的配置和使用方法。本書通過有代表性的項(xiàng)目案例,指導(dǎo)學(xué)生實(shí)現(xiàn)智能合約的開發(fā)、部署與調(diào)試,并探討其在金融、管理、供應(yīng)鏈等領(lǐng)域的應(yīng)用。通過學(xué)習(xí)本書,學(xué)生能夠掌握智能合約的開發(fā)技能,并具備獨(dú)立開發(fā)智能合約應(yīng)用的能力。
本書可以為職業(yè)院校學(xué)生學(xué)習(xí)智能合約應(yīng)用開發(fā)提供系統(tǒng)性指導(dǎo),幫助學(xué)生了解并掌握智能合約的基本概念與開發(fā)技能。
覆蓋Solidity、Web3.js、Remix等主流技術(shù)鏈,直接對(duì)應(yīng)區(qū)塊鏈開發(fā)工程師的核心技能需求。
以真實(shí)業(yè)務(wù)場(chǎng)景為任務(wù)載體,學(xué)習(xí)成果可直接遷移至企業(yè)級(jí)智能合約項(xiàng)目。
提供從合約編寫、部署到前端交互的完整開發(fā)路徑,讓學(xué)生具備構(gòu)建DApp的實(shí)戰(zhàn)能力,滿足崗位對(duì)應(yīng)用開發(fā)的實(shí)際要求。
翟玉廣,碩士,高級(jí)工程師,副教授,濟(jì)南職業(yè)學(xué)院計(jì)算機(jī)系教師,省級(jí)優(yōu)質(zhì)校專業(yè)群、省級(jí)品牌專業(yè)群、省級(jí)精品課團(tuán)隊(duì)、省級(jí)教學(xué)團(tuán)隊(duì)、省級(jí)特色專業(yè)團(tuán)隊(duì)主要成員。從事區(qū)塊鏈、人工智能、網(wǎng)絡(luò)技術(shù)等相關(guān)方向的教學(xué)和研究,主要講授《智能合約應(yīng)用開發(fā)》、《聯(lián)盟鏈應(yīng)用開發(fā)》、《Python程序設(shè)計(jì)》、《機(jī)器學(xué)習(xí)》、《智能視覺》、《Linux系統(tǒng)管理》、《數(shù)據(jù)庫(kù)系統(tǒng)管理》等專業(yè)和基礎(chǔ)課程。有多年企業(yè)軟件開發(fā)的工作經(jīng)驗(yàn),長(zhǎng)期從事軟件項(xiàng)目的設(shè)計(jì)和研發(fā),參與出版了多部計(jì)算機(jī)類教材和課程資源建設(shè),擁有多項(xiàng)軟件著作權(quán)和發(fā)明專利。
項(xiàng)目1 認(rèn)識(shí)區(qū)塊鏈與智能合約 1
1.1 區(qū)塊鏈和以太坊 2
1.1.1 區(qū)塊鏈介紹 2
1.1.2 以太坊介紹 6
1.2 認(rèn)識(shí)智能合約 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
項(xiàng)目2 開啟Solidity編程之旅 25
2.1 基礎(chǔ)語(yǔ)法 26
2.1.1 基本編寫規(guī)則 26
2.1.2 基礎(chǔ)關(guān)鍵字 27
2.1.3 變量與常量 28
2.1.4 運(yùn)算符優(yōu)先級(jí) 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 以太單位和時(shí)間單位 38
2.4 變量分類和存儲(chǔ) 40
2.4.1 變量分類與作用域 40
2.4.2 變量的存儲(chǔ)位置 41
2.5 條件語(yǔ)句 44
2.5.1 if條件語(yǔ)句 44
2.5.2 if...else條件語(yǔ)句 44
2.5.3 if...else if條件語(yǔ)句 45
2.6 循環(huán)語(yǔ)句 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語(yǔ)句 47
任務(wù)2.1 查找100以內(nèi)的質(zhì)數(shù) 47
任務(wù)2.2 投票選舉統(tǒng)計(jì) 49
任務(wù)2.3 借書管理(一) 50
項(xiàng)目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
項(xiàng)目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庫(kù) 95
4.3.1 庫(kù)介紹 95
4.3.2 庫(kù)的使用方法 96
任務(wù)4.1 用戶管理接口 97
任務(wù)4.2 統(tǒng)計(jì)學(xué)生成績(jī) 99
任務(wù)4.3 借書管理(三) 101
項(xiàng)目5 處理合約中的異常與錯(cuò)誤 107
5.1 異常處理的概念 108
5.1.1 智能合約中的異常與錯(cuò)誤 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個(gè)函數(shù)的區(qū)別 112
5.3 try/catch異常捕獲 114
5.3.1 try/catch的語(yǔ)法 114
5.3.2 主動(dòng)拋出異常的捕獲 116
任務(wù)5.1 猜數(shù)游戲 117
任務(wù)5.2 重入攻擊漏洞修復(fù) 120
任務(wù)5.3 借書管理(四) 124
項(xiàng)目6 正確使用事件和日志 130
6.1 日志處理 131
6.1.1 Remix控制臺(tái)終端日志 131
6.1.2 Solidity中的日志函數(shù) 132
6.2 事件處理 133
6.2.1 事件的概念 133
6.2.2 事件的使用 133
任務(wù)6.1 電影評(píng)價(jià)管理 135
任務(wù)6.2 借書管理(五) 139
項(xiàng)目7 學(xué)習(xí)智能合約的測(cè)試方法 144
7.1 測(cè)試方法和步驟 145
7.1.1 智能合約測(cè)試方法 145
7.1.2 智能合約測(cè)試步驟 146
7.2 使用Truffle進(jìn)行合約測(cè)試 146
7.2.1 測(cè)試環(huán)境的安裝 146
7.2.2 Truffle測(cè)試步驟 150
7.2.3 Truffle Console模式 157
7.3 Remix中的單元測(cè)試 159
7.3.1 啟用單元測(cè)試插件 159
7.3.2 Remix單元測(cè)試方法 160
任務(wù)7.1 投票合約的Truffle測(cè)試 163
任務(wù)7.2 影評(píng)管理合約的Truffle測(cè)試 165
項(xiàng)目8 Web3.js的使用與實(shí)踐 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 瀏覽器頁(yè)面中的合約交互 185
任務(wù)8.1 投票合約的HTML頁(yè)面 189
任務(wù)8.2 猜數(shù)游戲的HTML頁(yè)面 196
項(xiàng)目9 綜合案例:校園物品共享系統(tǒng) 205
9.1 項(xiàng)目介紹 206
9.1.1 系統(tǒng)架構(gòu)設(shè)計(jì) 206
9.1.2 系統(tǒng)功能設(shè)計(jì) 207
9.2 項(xiàng)目實(shí)現(xiàn) 208
9.2.1 定義狀態(tài)變量 208
9.2.2 實(shí)現(xiàn)功能函數(shù) 209
9.3 項(xiàng)目部署測(cè)試 213
9.4 項(xiàng)目總結(jié) 217
參考文獻(xiàn) 218