• Solidity智能合约开发技术与实战
图书条目标准图
21年品牌 40万+商家 超1.5亿件商品

Solidity智能合约开发技术与实战

52.22 6.1折 86 全新

仅1件

山东泰安
认证卖家担保交易快速发货售后保障

作者李晓黎

出版社人民邮电出版社

出版时间2022-12

版次1

装帧其他

货号R7库 12-18

上书时间2024-12-18

齐鲁淘宝书店

十四年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
图书标准信息
  • 作者 李晓黎
  • 出版社 人民邮电出版社
  • 出版时间 2022-12
  • 版次 1
  • ISBN 9787115589439
  • 定价 86.00元
  • 装帧 其他
  • 开本 其他
  • 纸张 胶版纸
  • 页数 288页
  • 字数 452千字
【内容简介】
在区块链发展历程中,以太坊的诞生具有里程碑式的意义。本书介绍使用Solidity开发以太坊智能合约DApp的方法,内容涵盖Solidity的基本语法,使用开发框架Truffle开发、部署、测试以太坊DApp的方法,通过以太坊测试网络进行交易的方法,开发安全智能合约所应遵守的规范和对智能合约进行安全审计的方法等。读者在阅读本书时可以充分了解和体验以太坊智能合约的强大功能,以及使用Solidity开发以太坊智能合约DApp的便利。
  本书可作为高等院校计算机、软件工程、大数据、人工智能等专业相关课程的教材,也可供区块链应用程序开发人员参考使用。
【作者简介】
李晓黎:

软件开发工程师,毕业于吉林大学计算机系;自2006年以来,带领团队一直从事网络管理软件、企业ERP系统和电商平台等的开发与建设工作,具有中国投资银行、国家开发银行、中信银行等多家银行从业经历,参与银行信息化建设、网银平台开发、智能合约设计与开发工作多年,在系统软件开发、团队组织管理和系统架构设计等领域积累了丰富的实战经验。
【目录】
【章名目录】

第 1章 区块链技术基础

第 2章 以太坊区块链

第3章 Solidity编程基础

第4章 常用语句

第5章 智能合约与函数

第6章 以太坊JavaScript API——Web3.js

第7章 事件与日志

第8章 以太坊DApp开发框架Truffle

第9章 以太坊测试网络

第 10章 编写安全的智能合约

【详细目录】

第 1章 区块链技术基础

1.1 从比特币说起 1

1.1.1 比特币的发展历程 1

1.1.2 什么是比特币系统 2

1.1.3 共识算法和比特币的挖矿 7

1.1.4 双花问题 10

1.1.5 区块链技术赋予比特币“价值” 13

1.2 区块链的工作原理及底层技术 15

1.2.1 分布式系统的概念 15

1.2.2 区块链的架构设计 15

1.2.3 加密算法 17

1.2.4 区块链的分类 19

1.2.5 区块链为什么会成为国家战略 19

1.2.6 区块链技术的发展历程 21

1.2.7 智能合约 22

1.2.8 区块链的编程语言 23

1.3 本章小结 24

习题 24

第2章 以太坊区块链

2.1 以太坊的发展历程与特色 25

2.1.1 以太坊的诞生与发展 25

2.1.2 以太坊与比特币系统的对比 27

2.2 以太坊的工作原理 28

2.2.1 以太坊节点 28

2.2.2 以太坊的状态机 28

2.2.3 以太坊网络的总体架构 29

2.2.4 DApp 31

2.2.5 DApp浏览器 32

2.2.6 以太坊的数据结构与存储方式 33

2.2.7 以太坊的分叉 36

2.2.8 Gas和以太币 36

2.2.9 以太坊账户、钱包和交易 38

2.2.10 以太坊的PoS共识算法 38

2.3 搭建以太坊私有链 39

2.3.1 搭建测试环境 39

2.3.2 安装以太坊客户端Geth 46

2.3.3 初始化创世区块 49

2.3.4 创建开发者账户 50

2.3.5 以开发者模式启动私有链 51

2.3.6 私有链账户管理 51

2.3.7 在私有链中挖矿 53

2.3.8 转账操作 54

2.4 本章小结 55

习题 55

第3章 Solidity编程基础

3.1 Solidity的第 一个示例程序 57

3.1.1 实时在线Solidity编辑器Remix 57

3.1.2 Solidity Hello World程序 58

3.1.3 使用Visual Studio Code开发Solidity程序 61

3.2 常量和变量 63

3.2.1 常量 63

3.2.2 变量 64

3.3 基本数据类型 66

3.3.1 字符串型 66

3.3.2 整型 68

3.3.3 定长浮点型 69

3.3.4 布尔类型 69

3.3.5 地址类型 70

3.3.6 合约类型 72

3.4 复合数据类型 72

3.4.1 枚举类型 72

3.4.2 结构体 73

3.4.3 映射 74

3.4.4 数组 75

3.5 本章小结 77

习题 77

第4章 常用语句

4.1 赋值语句 79

4.2 分支语句 80

4.2.1 if语句 80

4.2.2 if…else if…else…语句 81

4.3 循环语句 82

4.3.1 for语句 82

4.3.2 while语句 83

4.3.3 do…while…语句 84

4.4 本章小结 85

习题 86

第5章 智能合约与函数

5.1 智能合约编程基础 87

5.1.1 状态变量的可见性 87

5.1.2 智能合约的构造函数 90

5.1.3 智能合约之间的继承 91

5.2 函数编程基础 92

5.2.1 定义函数 92

5.2.2 函数修饰符 93

5.2.3 函数的参数 97

5.3 函数的高级应用 98

5.3.1 自毁函数 98

5.3.2 内置函数 99

5.3.3 函数重载 100

5.4 外部函数 101

5.4.1 导入外部函数 101

5.4.2 函数库 102

5.4.3 Fallback函数 103

5.5 抽象合约、接口和继承 106

5.5.1 抽象合约 106

5.5.2 接口 107

5.5.3 继承 107

5.6 异常处理函数 108

5.6.1 assert() 函数 108

5.6.2 require() 函数 109

5.6.3 revert() 函数 109

5.7 本章小结 110

习题 110

第6章 以太坊JavaScript API——Web3.js

6.1 Web3.js概述 111

6.1.1 什么是Web3.js 111

6.1.2 安装Web3.js 111

6.1.3 第 一个Web3.js的小实例 113

6.1.4 在网页中使用Web3.js 114

6.1.5 本章实例的执行环境 115

6.1.6 JavaScript Promise对象 115

6.2 区块编程 117

6.2.1 标识区块 117

6.2.2 获取当前区块编号 118

6.2.3 获取默认区块编号 119

6.2.4 获取指定区块详情 119

6.2.5 获取指定叔区块 120

6.3 以太坊账户与交易编程 120

6.3.1 获取账户列表 120

6.3.2 默认账户和币基账户 121

6.3.3 获取账户余额 122

6.3.4 获取指定区块中的交易数量 123

6.3.5 获取指定区块中的交易详情 125

6.3.6 根据交易哈希获取交易对象 126

6.3.7 获取交易的收据对象 127

6.3.8 向以太坊网络提交交易 129

6.3.9 估算交易的Gas用量 131

6.4 智能合约编程基础 132

6.4.1 以太坊智能合约的ABI 132

6.4.2 以太坊智能合约的字节码 135

6.4.3 在Visual Studio Code中生成智能合约的 ABI和字节码 140

6.4.4 JSON-RPC 141

6.5 在Web3.js中与智能合约进行交互 148

6.5.1 创建合约对象 148

6.5.2 调用合约函数 151

6.6 Web3.js开发实例:“明日之星”在线投票 155

6.6.1 编写投票智能合约 155

6.6.2 部署和测试投票智能合约 157

6.7 本章小结 167

习题 167

第7章 事件与日志

7.1 事件 169

7.1.1 事件模型 169

7.1.2 定义和触发事件 170

7.1.3 在Web3.js中监听事件 170

7.2 日志 176

7.2.1 在Remix中查看日志数据 176

7.2.2 底层日志接口 177

7.2.3 检索日志 179

7.3 本章小结 180

习题 181

第8章 以太坊DApp开发框架Truffle

8.1 Truffle开发框架概述 182

8.1.1 Truffle开发框架的基本特性 182

8.1.2 安装Truffle开发框架 182

8.1.3 选择以太坊客户端 183

8.1.4 个人区块链Ganache 183

8.2 Truffle项目管理 185

8.2.1 创建项目 185

8.2.2 配置Truffle项目 188

8.2.3 编译合约 189

8.2.4 部署合约 190

8.3 智能合约编程 193

8.3.1 与合约进行交互 193

8.3.2 Truffle Develop 198

8.3.3 Truffle框架与智能合约MetaCoin交互的前端应用示例 200

8.3.4 在Truffle框架中使用MetaMask 205

8.3.5 使用Truffle react项目模板开发基于以太坊智能合约的DApp 211

8.4 测试合约 221

8.4.1 Mocha测试框架简介 221

8.4.2 使用JavaScript编写测试脚本 223

8.4.3 使用Solidity编写测试脚本 224

8.5 Truffle示例项目宠物商店pet-shop 226

8.5.1 创建pet-shop项目 226

8.5.2 编写智能合约 226

8.5.3 编译和部署智能合约 227

8.5.4 开发前端应用 227

8.5.5 安装并配置MetaMask钱包 231

8.5.6 运行应用程序 232

8.6 本章小结 234

习题 234

第9章 以太坊测试网络

9.1 主网络和测试网络 236

9.1.1 以太坊测试网络概述 236

9.1.2 获取测试币 237

9.2 通过Infura节点集群连接以太坊网络 238

9.2.1 注册Infura账户 238

9.2.2 通过Infura连接以太坊网络 238

9.2.3 项目ID和项目密钥 241

9.2.4 白名单 243

9.2.5 部署智能合约到Ropsten网络 243

9.3 在测试网络中基于Web3.js完成以太坊交易 245

9.3.1 以太坊交易的过程 245

9.3.2 使用ethereumjs-tx实现与以太坊的交易 246

9.3.3 完整的交易实例 249

9.4 本章小结 252

习题 252

第 10章 编写安全的智能合约

10.1 以太坊智能合约安全设计的基本原则 253

10.1.1 需要遵循的安全理念 253

10.1.2 从软件工程技术角度规避风险 256

10.1.3 开发文档 263

10.1.4 关于报错赏金 264

10.2 常见的针对智能合约的攻击 265

10.2.1 重入问题 265

10.2.2 抢先交易 268

10.2.3 强制发送以太币到智能合约 269

10.3 智能合约开发过程中的安全建议 269

10.3.1 关于以太坊智能合约系统开发的建议 270

10.3.2 Solidity的安全问题 271

10.4 智能合约的安全审计 274

10.4.1 如何对智能合约进行审计 274

10.4.2 一个审计报告的例子 275

10.4.3 使用Mythril分析Solidity智能合约的安全漏洞 282

10.5 本章小结 287

习题 287
点击展开 点击收起

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP