区块链智能合约
全新正版 极速发货
¥
46.18
6.4折
¥
72
全新
仅1件
作者黄立群
出版社电子工业出版社
ISBN9787121439094
出版时间2022-07
装帧平装
开本其他
定价72元
货号1202690959
上书时间2024-06-10
商品详情
- 品相描述:全新
- 商品描述
-
商品简介
本书详细而深入地介绍了区块链技术和智能合约技术,包括算法、数据结构及相关学科的相关理论。本书介绍了基于以太坊的智能合约编程语言Solidity,结合以太坊虚拟机(EVM)的实现,讨论了Solidity语句的汇编实现,介绍了如何应用Solidity来开发去中心化应用(DApp)、如何使用区块链的去中心化存储(IPFS)。同时,出于全面性和前瞻性的考虑,本书详细介绍了智能合约的重要分支:基于超级账本的链码编程和智能合约编程的明日之星Web Assembly(WASM)编程技术。 本书可以作为高等学校区块链工程与技术、计算机科学与技术、金融科技、商务智能等相关专业的教学参考书,也可作为区块链从业人员和相关企事业单位技术人员的参考书。
作者简介
黄立群,男,博士,副教授。主持研究项目5项,参加自然科学基金、863项目和九五攻关项目各一项,参加其他科研项目12项。在《通信学报》《电子学报》《电子科学学刊》《华中理工大学学报》《计算机工程与应用》等刊物及国际会议上发表十篇论文。主要研究方向为计算机网络技术与应用、移动计算、决策支持系统、嵌入式系统的研究。
目录
目 录
第1章 区块链概述1
1.1 什么是区块链1
1.2 区块链历史2
1.3 区块链的分类5
1.4 区块链解决的问题6
1.5 区块链技术概述9
1.6 区块链面临的挑战10
1.6.1 安全性挑战10
1.6.2 效率挑战14
1.6.3 落地应用的有效性15
1.6.4 区块链发展的政策法规监管15
习题115
第2章 区块链技术17
2.1 区块链的架构17
2.2 哈希函数18
2.3 密码学算法19
2.3.1 对称加密算法19
2.3.2 不对称加密算法21
2.3.3 国密22
2.3.4 RSA23
2.3.5 椭圆曲线算法家族24
2.4 共识算法26
2.4.1 拜占庭将军问题27
2.4.2 共识算法的两个定理27
2.4.2 共识算法的目的28
2.4.3 工作量证明29
2.4.4 权益证明30
2.4.5 委托权益证明31
2.5 博弈论31
2.5.1 博弈论原理32
2.5.2 博弈论在区块链的应用33
2.6 P2P算法34
2.6.1 Gossip35
2.6.2 Kademlia37
2.7 数据结构及其算法42
2.7.1 默克尔树42
2.7.2 布隆过滤器44
习题246
第3章 以太坊与智能合约47
3.1 以太坊介绍47
3.1.1 燃料48
3.1.2 以太坊虚拟机50
3.1.3 账户50
3.2 以太坊关键数据结构及其算法51
3.2.1 递归长度前缀编码51
3.2.2 梅克尔C帕特里夏树52
3.3 智能合约介绍57
3.3.1 智能合约的实现机制:虚拟机57
3.3.2 智能合约的实现机制:容器58
3.4 现有智能合约框架介绍58
习题359
第4章 Solidity编程61
4.1 SOL文件结构61
4.2 合约结构64
4.3 变量类型64
4.3.1 值类型64
4.3.2 引用类型66
4.3.3 字典67
4.3.4 特殊情况67
4.4 操作符68
4.5 语句69
4.5.1 条件语句69
4.5.2 循环语句70
4.5.3 其他70
4.6 修饰符70
4.6.1 修饰符说明71
4.6.2 修饰符的区别72
4.6.3 自定义修饰符74
4.7 数据位置75
4.8 事件77
4.9 继承80
4.10 其他81
4.10.1 类型转换及推断81
4.10.2 异常82
4.10.3 汇编82
4.10.4 This关键字84
习题484
第5章 智能合约开发86
5.1 智能合约开发的特点86
5.2 智能合约的生命周期和开发周期88
5.2.1 智能合约的生命周期88
5.2.2 智能合约的开发周期88
5.3 设计模式89
5.3.1 工厂合约模式90
5.3.2 映射迭代90
5.3.3 名字登录91
5.3.4 回退模式92
5.3.5 合约自毁92
5.3.6 访问限制93
5.3.7 断路器94
5.3.8 状态机95
5.4 基础算法97
5.5 智能合约的安全99
5.5.1 编程语言相关的攻击99
5.5.2 平台相关的攻击107
5.5.3 重入攻击115
5.5.4 阻塞攻击116
5.6 智能合约最佳安全开发指南118
5.7 代码审计126
小结126
习题5126
第6章 Solidity智能合约应用127
6.1 可升级127
6.1.1 升级智能合约要考虑的问题127
6.1.2 智能合约升级方法128
6.1.3 通用的代理模式131
6.1.4 存储升级133
6.2 节省燃料140
6.3 汇编代码147
6.3.1 栈147
6.3.2 调用数据148
6.3.3 内存149
6.3.4 存储149
6.4 合约间调用151
6.4.1 函数调用151
6.4.2 依赖注入152
6.4.3 消息调用153
6.4.4 获取合约间调用的返回值156
6.5 ABI编程158
6.5.1 内存结构159
6.5.2 函数选择子159
6.5.3 类型定义159
6.5.4 数据表示160
6.5.5 编码165
6.6 运行原理173
习题6178
第7章 去中心化应用180
7.1 DApp概述180
7.2 DApp架构183
7.2.1 客户端183
7.2.2 服务器端184
7.2.3 流程详解186
7.3 去中心化数据存储188
7.3.1 Swarm189
7.3.2 IPFS/FileCoin191
7.4 消息通信193
7.5 名字解析194
习题7194
第8章 超级账本195
8.1 Fabric概述195
8.1.1 Fabric结构196
8.1.2 Fabric组件197
8.1.3 Fabric技术架构202
8.1.4 Fabric网络架构204
8.2 链码204
8.2.1 链码的分类204
8.2.2 链码的生命周期205
8.3 链码交互206
习题8207
第9章 Web Assembly209
9.1 为什么需要WASM209
9.1.1 EVM的缺陷209
9.1.2 WASM的优越性213
9.2 WASM特色213
9.2.1 WASM特点214
9.2.2 WASM动态运行库215
9.3 eWASM前后端交互216
9.4 从Solidity迁移到WASM218
习题9218
第10章 开发环境和工具安装220
10.1 实验1:区块链开发基本语言工具包安装配置220
10.1.1 编程语言包的安装220
10.1.2 Node.js环境的安装221
10.1.3 Git包的安装222
10.2 实验2:以太坊开发环境安装222
10.2.1 web3安装222
10.2.2 Ganache安装222
10.2.3 Truffle安装223
10.2.4 区块链浏览器225
10.2.5 测试环境225
10.3 实验3:以太坊开发工具227
10.3.1 Remix的使用227
10.3.2 Infura的使用230
10.3.3 MetaMask的使用231
10.3.4 Mist的使用233
10.3.5 以太坊源码编译234
10.3.6 其他235
动手实验235
第11章 Solidity智能合约开发236
11.1 实验4:以太坊Solidity智能合约ERC20开发236
11.1.1 方法237
11.1.2 事件238
11.1.3 OpenZeppline框架238
11.2 实验5:以太坊Solidity智能合约ERC721开发239
11.2.1 ERC721接口定义239
11.2.2 元数据扩展250
11.2.3 可枚举扩展251
11.2.4 ERC165标准255
11.3 实验6:用编程语言与智能合约交互256
11.3.1 用Go语言程序与智能合约交互256
11.3.2 基于ABI的编程264
11.2.3 标准开发流程264
11.4 实验7:Solidity智能合约调试268
11.4.1 编程语言268
11.4.2 Testrpc/Ganache测试环境276
11.4.3 Truffle Debugger277
11.4.4 Remix调试285
第12章 智能合约应用案例289
12.1 实验8:以太坊DApp开发和调试289
12.1.1 环境准备290
12.1.2 项目290
12.1.3 智能合约Solidity编程291
12.2 实验9:以太坊IPFS DApp开发和调试296
12.2.1 DApp环境准备296
12.2.2 DApp项目297
12.2.3 编译运行301
第13章 超级账本Fabric开发302
13.1 实验10:超级账本Fabric开发环境302
13.1.1 Fabric安装302
13.1.2 First-network例子314
13.1.3 Test-network示例319
13.1.2 链码交互326
13.1.3 链码调试330
13.1.4 链码简例331
13.2 实验11:WASM简单合约开发340
13.2.1 Go + WASM的基本用法340
13.2.2 WASM的例子341
第14章 智能合约实验练习344
14.1 实验练习1:商业名片系统344
14.2 实验练习2:基于ERC721/NFT的学位证书认证系统344
附录A Solidity常用函数346
附录B 区块链大事记349
附录C 区块链术语358
附录D 以太坊内置合约363
参考文献366
内容摘要
本书详细而深入地介绍了区块链技术和智能合约技术,包括算法、数据结构及相关学科的相关理论。本书介绍了基于以太坊的智能合约编程语言Solidity,结合以太坊虚拟机(EVM)的实现,讨论了Solidity语句的汇编实现,介绍了如何应用Solidity来开发去中心化应用(DApp)、如何使用区块链的去中心化存储(IPFS)。同时,出于全面性和前瞻性的考虑,本书详细介绍了智能合约的重要分支:基于超级账本的链码编程和智能合约编程的明日之星WebAssembly(WASM)编程技术。 本书可以作为高等学校区块链工程与技术、计算机科学与技术、金融科技、商务智能等相关专业的教学参考书,也可作为区块链从业人员和相关企事业单位技术人员的参考书。
— 没有更多了 —
以下为对购买帮助不大的评价