工信精品区块链技术系列教材

Solidity智能合约应用开发(微课版)

区块链智能合约开发教材,Solidity编程、Remix与Web3.js实战指南,涵盖DApp构建与项目化教学案例,适用于职业院校区块链技术、信息技术专业课程,提供合约部署测试与完整项目示例资源。
分享 推荐 0 收藏 5 阅读 428
翟玉广 , 贾丽洁 , 刘洪海 (主编) 978-7-115-68205-5

关于本书的内容有任何问题,请联系 初美呈

覆盖Solidity、Web3.js、Remix等主流技术链,直接对应区块链开发工程师的核心技能需求。
以真实业务场景为任务载体,学习成果可直接迁移至企业级智能合约项目。
提供从合约编写、部署到前端交互的完整开发路径,让学生具备构建DApp的实战能力,满足岗位对应用开发的实际要求。

内容摘要

本书从初学者的角度出发,介绍智能合约应用开发的核心技术与编程语言语法。内容包括区块链与智能合约的基本概念、智能合约的编写与测试方法,以及智能合约在实际项目中的应用。重点讲解Solidity编程语言的基本语法、函数定义与使用、面向对象编程技术,以及开发环境的配置和使用方法。本书通过有代表性的项目案例,指导学生实现智能合约的开发、部署与调试,并探讨其在金融、管理、供应链等领域的应用。通过学习本书,学生能够掌握智能合约的开发技能,并具备独立开发智能合约应用的能力。
本书可以为职业院校学生学习智能合约应用开发提供系统性指导,帮助学生了解并掌握智能合约的基本概念与开发技能。

目录

项目1 认识区块链与智能合约 1
1.1 区块链和以太坊 2
1.1.1 区块链介绍 2
1.1.2 以太坊介绍 6
1.2 认识智能合约 6
1.2.1 智能合约介绍 6
1.2.2 智能合约原理 7
1.3 智能合约的开发环境 11
1.3.1 Remix 11
1.3.2 VS Code 16
任务1.1 在Remix上部署智能合约 19
任务1.2 在WeBASE-Front上部署智能合约 20

项目2 开启Solidity编程之旅 25
2.1 基础语法 26
2.1.1 基本编写规则 26
2.1.2 基础关键字 27
2.1.3 变量与常量 28
2.1.4 运算符优先级 29
2.2 数据类型 30
2.2.1 基本数据类型 30
2.2.2 复合数据类型 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 循环语句 45
2.6.1 while循环 45
2.6.2 do...while循环 46
2.6.3 for循环 46
2.6.4 break及continue语句 47
任务2.1 查找100以内的质数 47
任务2.2 投票选举统计 49
任务2.3 借书管理(一) 50

项目3 深入理解Solidity函数 55
3.1 函数的定义和调用 56
3.1.1 函数的定义 56
3.1.2 函数的调用 58
3.1.3 函数可见性与可变性 59
3.2 函数修饰器 62
3.2.1 函数修饰器的概念 62
3.2.2 函数修饰器的使用 63
3.3 构造函数与自毁函数 64
3.3.1 构造函数 64
3.3.2 自毁函数 65
3.4 函数重载 66
3.4.1 函数重载的概念 66
3.4.2 函数重载的使用 66
3.5 转账函数 67
3.5.1 转账的概念 67
3.5.2 接收以太的函数 67
3.5.3 发送以太的函数 71
3.6 加密函数与编码函数 74
3.6.1 加密函数 74
3.6.2 编码函数 75
任务3.1 众筹合约 78
任务3.2 藏品拍卖 80
任务3.3 借书管理(二) 82

项目4 探索合约继承与接口的使用 87
4.1 合约继承 88
4.1.1 合约继承的概念 88
4.1.2 合约继承中的函数重写 89
4.1.3 合约继承中的构造函数 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
任务4.1 用户管理接口 97
任务4.2 统计学生成绩 99
任务4.3 借书管理(三) 101

项目5 处理合约中的异常与错误 107
5.1 异常处理的概念 108
5.1.1 智能合约中的异常与错误 108
5.1.2 抛出与捕获异常 109
5.2 异常处理函数 110
5.2.1 require()函数 110
5.2.2 assert()函数 111
5.2.3 revert()函数 112
5.2.4 3个函数的区别 112
5.3 try/catch异常捕获 114
5.3.1 try/catch的语法 114
5.3.2 主动抛出异常的捕获 116
任务5.1 猜数游戏 117
任务5.2 重入攻击漏洞修复 120
任务5.3 借书管理(四) 124

项目6 正确使用事件和日志 130
6.1 日志处理 131
6.1.1 Remix控制台终端日志 131
6.1.2 Solidity中的日志函数 132
6.2 事件处理 133
6.2.1 事件的概念 133
6.2.2 事件的使用 133
任务6.1 电影评价管理 135
任务6.2 借书管理(五) 139

项目7 学习智能合约的测试方法 144
7.1 测试方法和步骤 145
7.1.1 智能合约测试方法 145
7.1.2 智能合约测试步骤 146
7.2 使用Truffle进行合约测试 146
7.2.1 测试环境的安装 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
任务7.1 投票合约的Truffle测试 163
任务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 监听合约中的事件 178
8.2.3 通过Web3.js进行转账 181
8.2.4 浏览器页面中的合约交互 185
任务8.1 投票合约的HTML页面 189
任务8.2 猜数游戏的HTML页面 196

项目9 综合案例:校园物品共享系统 205
9.1 项目介绍 206
9.1.1 系统架构设计 206
9.1.2 系统功能设计 207
9.2 项目实现 208
9.2.1 定义状态变量 208
9.2.2 实现功能函数 209
9.3 项目部署测试 213
9.4 项目总结 217
参考文献 218

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

翟玉广,硕士,高级工程师,副教授,济南职业学院计算机系教师,省级优质校专业群、省级品牌专业群、省级精品课团队、省级教学团队、省级特色专业团队主要成员。从事区块链、人工智能、网络技术等相关方向的教学和研究,主要讲授《智能合约应用开发》、《联盟链应用开发》、《Python程序设计》、《机器学习》、《智能视觉》、《Linux系统管理》、《数据库系统管理》等专业和基础课程。有多年企业软件开发的工作经验,长期从事软件项目的设计和研发,参与出版了多部计算机类教材和课程资源建设,拥有多项软件著作权和发明专利。

同系列书

  • Solidity智能合约应用开发(微课版)

    翟玉广 贾丽洁 刘洪海

    本书从初学者的角度出发,介绍智能合约应用开发的核心技术与编程语言语法。内容包括区块链与智能合约的基本概念、智能...

    ¥59.80

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部