返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:
本店所有商品

  • [正版新书] 区块链智能合约开发实战 江海、于洪伟、吴书博、孙劼、尹钧 清华大学出版社 区块链技术-程序设计
  • 新商品上架
    • 作者: 江海、于洪伟、吴书博、孙劼、尹钧著
    • 出版社: 清华大学出版社
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    句字图书专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: 江海、于洪伟、吴书博、孙劼、尹钧著
    • 出版社:清华大学出版社
    • 开本:16开
    • ISBN:9787302652953
    • 版权提供:清华大学出版社

     书名:  区块链智能合约开发实战
     出版社:  清华大学出版社
     出版日期  2024
     ISBN号:  9787302652953

    智能合约是区块链技术的重要组成部分,同时也是去中心化应用(DApp)开发过程中的核心。智能合约可以使用户实现与区块链的交互,执行用户操作。本书分为8章,讲解了以太坊和智能合约、搭建以太坊智能合约环境、Solidity基础、Solidity高级用法、智能合约应用、智能合约安全、智能合约交互、智能合约开发框架等内容。本书致力于让读者在学会Solidity语法的同时,也能通过案例编码练习提升编程能力。

    本书适合作为高等院校区块链、软件工程相关专业的教材,也可作为有编程基础或经验的读者、去中心化应用开发工程师的自学用书。


    江海,现任江西软件职业技术大学区块链学院副院长,江西省区块链技术专委会委员、江西省区块链学会副秘书长、江西省计算机用户协会专家。

    于洪伟,北京千锋互联科技有限公司教学主管,8年互联网开发经验,曾任光大银行技术研发,负责产品研发、技术牵引等工作。完成数十个大中型项目,多年的项目开发和项目管理经验。出版发行《以太坊源码分析》、《Fabric网络学习》、《区块链去中心化钱包》等系列视频和教程。

    吴书博,河北工程技术学副教授,主要研究领域经济管理、教育管理。


     本书详尽讲解了区块链与以太坊的核心知识,深入Solidity编程精髓,并通过丰富的实例助您掌握智能合约的开发与交互。适合作为高等院校区块链、软件工程相关专业的教材,也适合有一定编程基础的读者自学。




    第1章 以太坊和智能合约……………………………………………………………………1

       1.1 区块链简介及分类………………………………………………………………… 1
    1.1.1 区块链发展起源…………………………………………………………… 1
    1.1.2 从0到1的比特币系统…………………………………………………… 1
    1.1.3 从比特币到区块链………………………………………………………… 3
    1.1.4 区块链简介………………………………………………………………… 3
    1.1.5 区块链分类………………………………………………………………… 4
    1.2 以太坊基础………………………………………………………………………… 5
    1.2.1 以太坊简介………………………………………………………………… 5
    1.2.2 以太坊发展历史…………………………………………………………… 5
    1.3 以太坊核心概念…………………………………………………………………… 6
    1.3.1 以太坊……………………………………………………………………… 6
    1.3.2 以太币……………………………………………………………………… 6
    1.3.3 Gas、Gas Price、Gas Fees………………………………………………… 7
    1.3.4 以太坊虚拟机……………………………………………………………… 7
    1.3.5 账户………………………………………………………………………… 8
    1.3.6 交易………………………………………………………………………… 9
    1.3.7 区块……………………………………………………………………… 10
    1.3.8 节点和客户端…………………………………………………………… 10
    1.3.9 共识机制………………………………………………………………… 12
    1.4 智能合约与去中心化应用………………………………………………………… 14
    1.4.1 智能合约………………………………………………………………… 14
    1.4.2 去中心化应用…………………………………………………………… 14
    1.4.3 去中心化应用的特点…………………………………………………… 14
    1.5 比特币与以太坊系统架构………………………………………………………… 15
    1.5.1 比特币系统架构………………………………………………………… 15
    1.5.2 以太坊系统架构………………………………………………………… 16
    本章小结………………………………………………………………………………… 17
    能力自测………………………………………………………………………………… 17
    第2章 搭建以太坊智能合约环境 ………………………………………………………… 18 
     2.1 以太坊公共网络…………………………………………………………………… 18
    2.1.1 以太坊主网络…………………………………………………………… 18
    2.1.2 以太坊测试网络………………………………………………………… 18
    2.1.3 Layer 2测试网络……………………………………………………… 20
    2.2 以太坊专用网络…………………………………………………………………… 21
    2.2.1 开发网络………………………………………………………………… 21
    2.2.2 联盟链…………………………………………………………………… 22
    2.3 以太坊客户端……………………………………………………………………… 22
    2.3.1 为什么要有客户端……………………………………………………… 22
    2.3.2 安装Geth客户端……………………………………………………… 22
    2.3.3 同步区块………………………………………………………………… 24
    2.3.4 数据存放目录…………………………………………………………… 24
    2.3.5 启动节点………………………………………………………………… 24
    2.4 启动客户端………………………………………………………………………… 24
    2.4.1 启动主网客户端………………………………………………………… 24
    2.4.2 启动测试网络客户端…………………………………………………… 25
    2.4.3 启动客户端的可选项配置……………………………………………… 25
    2.5 搭建私有链………………………………………………………………………… 25
    2.5.1 准备工作………………………………………………………………… 26
    2.5.2 创建创世区块配置文件………………………………………………… 26
    2.5.3 初始化:将创世区块信息写入区块链…………………………………… 27
    2.5.4 启动私有节点…………………………………………………………… 28
    2.5.5 Geth的JavaScript控制台操作………………………………………… 29
    2.6 搭建多节点私有链………………………………………………………………… 31
    2.6.1 创建节点目录…………………………………………………………… 32
    2.6.2 分别初始化节点………………………………………………………… 32
    2.6.3 启动节点………………………………………………………………… 32
    2.6.4 查看节点信息…………………………………………………………… 32
    2.6.5 手动添加节点…………………………………………………………… 33
    2.7 以太坊钱包………………………………………………………………………… 33
    2.7.1 以太坊钱包的概念……………………………………………………… 33
    2.7.2 钱包的分类……………………………………………………………… 34
    2.7.3 钱包中的重要概念……………………………………………………… 35
    2.8 MetaMask钱包…………………………………………………………………… 36
    2.8.1 MetaMask简介………………………………………………………… 36
    2.8.2 MetaMask的安装……………………………………………………… 36
    2.8.3 创建新钱包……………………………………………………………… 36
    2.8.4 连接不同的网络………………………………………………………… 38
    2.9 Solidity编程语言和开发工具…………………………………………………… 40
    2.9.1 Solidity简介…………………………………………………………… 40
    2.9.2 Solidity程序结构和编程规范………………………………………… 41
    2.9.3 智能合约开发工具Remix ……………………………………………… 42
    2.9.4 智能合约部署和调用…………………………………………………… 43
    本章小结………………………………………………………………………………… 43
    能力自测………………………………………………………………………………… 44
    第3章 Solidity基础………………………………………………………………………… 45
    3.1 值类型……………………………………………………………………………… 45
    3.1.1 布尔型…………………………………………………………………… 45
    3.1.2 整型……………………………………………………………………… 46
    3.1.3 地址类型………………………………………………………………… 47
    3.1.4 字节数组………………………………………………………………… 48
    3.1.5 枚举……………………………………………………………………… 49
    3.2 函数………………………………………………………………………………… 50
    3.2.1 函数的概念和定义……………………………………………………… 50
    3.2.2 函数的可见性…………………………………………………………… 50
    3.2.3 pure和view关键字…………………………………………………… 51
    3.2.4 payable关键字…………………………………………………………… 53
    3.2.5 函数的返回值…………………………………………………………… 53
    3.3 引用类型…………………………………………………………………………… 54
    3.3.1 数据存储位置…………………………………………………………… 55
    3.3.2 数据位置与赋值规则…………………………………………………… 56
    3.3.3 数组……………………………………………………………………… 58
    3.3.4 结构体…………………………………………………………………… 62
    3.3.5 映射类型………………………………………………………………… 63
    3.4 变量初始值和常量………………………………………………………………… 64
    3.4.1 变量初始值……………………………………………………………… 65
    3.4.2 delete操作符…………………………………………………………… 65
    3.4.3 常量……………………………………………………………………… 66
    3.5 流程控制…………………………………………………………………………… 67
    3.5.1 条件语句………………………………………………………………… 67
    3.5.2 循环语句………………………………………………………………… 69
    3.5.3 中断语句………………………………………………………………… 71
    3.6 特殊函数…………………………………………………………………………… 73
    3.6.1 构造函数………………………………………………………………… QE_肨麭�9�0_73
    3.6.2 析构函数………………………………………………………………… 74
    3.6.3 函数修改器……………………………………………………………… 74
    3.6.4 常见内置函数…………………………………………………………… 75
    3.7 事件………………………………………………………………………………… 76
    3.7.1 事件的定义……………………………………………………………… 76
    3.7.2 触发事件………………………………………………………………… 76
    3.8 继承………………………………………………………………………………… 77
    3.8.1 继承……………………………………………………………………… 77
    3.8.2 函数重写………………………………………………………………… 78
    3.8.3 多继承…………………………………………………………………… 79
    3.9 抽象合约…………………………………………………………………………… 79
    3.10 接口……………………………………………………………………………… 80
    3.10.1 接口的定义…………………………………………………………… 80
    3.10.2 实现接口……………………………………………………………… 80
    3.10.3 接口与抽象合约的区别……………………………………………… 81
    3.11 错误处理………………………………………………………………………… 81
    3.11.1 错误处理机制………………………………………………………… 81
    3.11.2 require和assert……………………………………………………… 82
    3.11.3 revert函数…………………………………………………………… 83
    3.11.4 自定义error ………………………………………………………… 84
    本章小结………………………………………………………………………………… 85
    能力自测………………………………………………………………………………… 85
    第4章 Solidity高级用法…………………………………………………………………… 86
    4.1 函数重载…………………………………………………………………………… 86
    4.1.1 函数重载的定义………………………………………………………… 86
    4.1.2 实参匹配………………………………………………………………… 86
    4.2 库的使用…………………………………………………………………………… 87
    4.2.1 库的概念和定义………………………………………………………… 87
    4.2.2 使用库合约……………………………………………………………… 88
    4.2.3 库示例和OpenZeppelin………………………………………………… 88
    4.3 导入并使用其他合约……………………………………………………………… 92
    4.3.1 文件路径导入…………………………………………………………… 92
    4.3.2 URL导入………………………………………………………………… 93
    4.3.3 安装库文件导入………………………………………………………… 94
    4.4 接收以太币………………………………………………………………………… 94
    4.4.1 msg全局变量…………………………………………………………… 94
    4.4.2 payable修饰符…………………………………………………………… 95
    4.4.3 receive和fallback函数………………………………………………… 95
    4.5 转账交易…………………………………………………………………………… 98
    4.5.1 transfer函数…………………………………………………………… 98
    4.5.2 send函数………………………………………………………………… 98
    4.5.3 call函数………………………………………………………………… 98
    4.6 合约间的交互……………………………………………………………………… 99
    4.6.1 库的缺点………………………………………………………………… 99
    4.6.2 通过合约(接口)和地址创建合约引用………………………………… 100
    4.6.3 使用call调用其他合约………………………………………………… 103
    4.6.4 使用delegatecall调用其他合约……………………………………… 103
    4.7 创建合约………………………………………………………………………… 105
    4.7.1 CREATE操作码……………………………………………………… 105
    4.7.2 CREATE2操作码……………………………………………………… 106
    4.8 ABI ……………………………………………………………………………… 110
    4.8.1 ABI简介………………………………………………………………… 110
    4.8.2 ABI的结构……………………………………………………………… 110
    4.8.3 ABI编解码……………………………………………………………… 113
    4.9 字节码…………………………………………………………………………… 114
    4.10 哈希函数………………………………………………………………………… 114
    4.10.1 哈希函数……………………………………………………………… 114
    4.10.2 哈希函数的分类……………………………………………………… 115
    4.10.3 Keccak算法的使用………………………………………………… 116
    4.11 异常捕获与处理………………………………………………………………… 117
    本章小结………………………………………………………………………………… 119
    能力自测………………………………………………………………………………… 119
    第5章 智能合约应用……………………………………………………………………… 120
    5.1 钱包应用………………………………………………………………………… 120
    5.1.1 钱包合约程序…………………………………………………………… 120
    5.1.2 多签钱包合约…………………………………………………………… 122
    5.2 ERC系列代币…………………………………………………………………… 126
    5.2.1 ERC简介……………………………………………………………… 126
    5.2.2 ERC20代币…………………………………………………………… 127
    5.2.3 ERC721代币…………………………………………………………… 131
    5.2.4 ERC1155代币………………………………………………………… 141
    5.3 默克尔树及其应用……………………………………………………………… 152
    5.3.1 默克尔树简介…………………………………………………………… 152
    5.3.2 默克尔树和默克尔证明………………………………………………… 153
    5.3.3 默克尔树的应用………………………………………………………… 155
    本章小结………………………………………………………………………………… 160
    能力自测………………………………………………………………………………… 160
    第6章 智能合约安全……………………………………………………………………… 161
    6.1 重放攻击………………………………………………………………………… 161
    6.1.1 重放攻击原理…………………………………………………………… 161
    6.1.2 事件回顾及分析………………………………………………………… 161
    6.1.3 简单重放攻击保护提案………………………………………………… 162
    6.1.4 防止重放攻击…………………………………………………………… 162
    6.2 重入攻击………………………………………………………………………… 163
    6.2.1 重入攻击原理…………………………………………………………… 163
    6.2.2 事件回顾及分析………………………………………………………… 163
    6.2.3 解决思路………………………………………………………………… 165
    6.3 整数溢出………………………………………………………………………… 165
    6.3.1 整型溢出问题…………………………………………………………… 165
    6.3.2 溢出漏洞事件分析……………………………………………………… 166
    6.4 访问控制………………………………………………………………………… 166
    6.4.1 访问控制………………………………………………………………… 166
    6.4.2 漏洞分析………………………………………………………………… 167
    6.4.3 访问控制总结…………………………………………………………… 168
    6.5 条件竞争………………………………………………………………………… 170
    6.5.1 条件竞争概念…………………………………………………………… 170
    6.5.2 分析和修复……………………………………………………………… 171
    6.6 选择器冲突……………………………………………………………………… 172
    6.6.1 选择器冲突概念………………………………………………………… 172
    6.6.2 事件回顾分析…………………………………………………………… 173
    6.7 短地址攻击……………………………………………………………………… 175
    6.7.1 短地址攻击简介………………………………………………………… 175
    6.7.2 短地址攻击防御………………………………………………………… 176
    本章小结………………………………………………………………………………… 176
    能力自测………………………………………………………………………………… 177
    第7章 智能合约交互……………………………………………………………………… 178
    7.1 以太坊JavaScript库及环境准备……………………………………………… 178
    7.1.1 Node.js简介…………………………………………………………… 179
    7.1.2 Node.js环境安装……………………………………………………… 179
    7.1.3 Node.js程序示例……………………………………………………… 180
    7.1.4 剖析package.json …………………………………………………… 181
    7.1.5 npm使用介绍………………………………………………………… 183
    7.2 Web3.js使用方法……………………………………………………………… 184
    7.2.1 Web3.js简介…………………………………………………………… 184
    7.2.2 Web3.js安装…………………………………………………………… 185
    7.2.3 连接到以太坊节点……………………………………………………… 186
    7.2.4 查看以太坊链上信息…………………………………………………… 188
    7.2.5 Web3库的API介绍…………………………………………………… 191
    7.2.6 使用Web3编译部署合约……………………………………………… 195
    7.3 Ethers.js使用方法……………………………………………………………… 200
    7.3.1 Ethers.js简介………………………………………………………… 200
    7.3.2 Ethers.js模块及API介绍…………………………………………… 200
    7.3.3 安装Ethers.js库……………………………………………………… 203
    7.3.4 使用Ethers.js连接到本地节点……………………………………… 204
    7.3.5 Ethers.js的基本使用方法…………………………………………… 205
    本章小结………………………………………………………………………………… 208
    能力自测………………………………………………………………………………… 208
    第8章 智能合约开发框架………………………………………………………………… 209
    8.1 框架的功能和举例……………………………………………………………… 209
    8.2 Truffle框架基础………………………………………………………………… 210
    8.2.1 Truffle简介…………………………………………………………… 210
    8.2.2 Truffle的构成及作用………………………………………………… 210
    8.2.3 Truffle安装…………………………………………………………… 210
    8.2.4 Truffle命令…………………………………………………………… 211
    8.2.5 使用Truffle创建项目………………………………………………… 211
    8.2.6 truffle-config.js文件解析…………………………………………… 213
    8.2.7 编译部署合约…………………………………………………………… 215
    8.3 Truffle框架进阶………………………………………………………………… 217
    8.3.1 控制台交互……………………………………………………………… 217
    8.3.2 与合约交互……………………………………………………………… 217
    8.4 Hardhat框架…………………………………………………………………… 220
    8.4.1 Hardhat简介…………………………………………………………… 220
    8.4.2 安装Hardhat ………………………………………………………… 221
    8.4.3 创建智能合约应用……………………………………………………… 221
    8.4.4 编写智能合约程序……………………………………………………… 222
    8.4.5 编写测试合约…………………………………………………………… 224
    8.4.6 编译和部署合约………………………………………………………… 225
    8.4.7 部署到指定网络环境…………………………………………………… 227
    本章小结………………………………………………………………………………… 228
    能力自测………………………………………………………………………………… 229
    附录 本书教学资源………………………………………………………………………… 230
    参考文献……………………………………………………………………………………… 231 



     

    1
    • 商品详情
    • 内容简介

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购