《区块链2.0实战 以太坊+Solidity编程从入门到精通》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:黄振东著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2018
  • ISBN:9787121348778
  • 页数:344 页
图书介绍:网络中的各种区块链知识虽然很多但难以构建成体系,本书根据读者的需求,以完整的体系介绍了当前最流行的区块链技术。全书从总体出发,介绍了区块链的发展历程、典型应用、在社会生活各方面的应用前景,并进一步深入到基础技术层面,详细介绍了区块链技术的各个组成部分,最后介绍了区块链2.0——以太坊的发展情况和开发编程,引导本书读者由远及近、由感性到理性、从原理到实践,建立起了全面的区块链知识体系,引导读者逐步深入地掌握区块链技术,并具备应用以太坊编程语言开发分布式应用程序的初步能力。本书以全球化的眼光专注于区块链技术的体系搭建,定位高端,专业性强,内容全面,便于实操,既适合金融行业的投资人员研究和掌握区块链的技术与商业价值,也适合想在区块链领域从事创业发展的创业者,还可以作为编程开发人员的参考资料,也适用于各类想了解区块链技术的大专院校作为学习资料。

第1章 区块链基础 1

1.1 什么是区块链 1

1.1.1 区块链的定义 2

1.1.2 区块链的运行流程和特点 5

1.1.3 区块链的类型 6

1.2 区块链的发展经过和现状 7

1.2.1 区块链产生的背景 7

1.2.2 比特币的诞生 9

1.2.3 比特币的底层技术是区块链 11

1.2.4 区块链全球发展的不均衡特点 12

1.2.5 区块链在全球的发展现状 13

1.3 区块链在中国的发展现状 18

1.3.1 重视底层突破,区块链技术创新加速 18

1.3.2 资本快速进入,区块链融资增长迅猛 18

1.3.3 全产业链布局,区块链应用领域逐步拓展 19

1.3.4 抱团发展,各类区块链行业组织纷纷成立 19

1.4 中国区块链行业的发展前景 20

1.4.1 “90后”创业者人群大量入场 20

1.4.2 大型企业积极参与,区块链技术基础更加深厚 20

1.4.3 全国各地高度支持区块链发展 21

第2章 区块链的商业价值 23

2.1 区块链在银行业的应用 23

2.1.1 区块链对银行业的改变 24

2.1.2 国内外银行业的区块链应用 24

2.2 区块链与电子商务 27

2.3 区块链在法律行业的应用 29

2.3.1 区块链证据 30

2.3.2 智能合约 30

2.3.3 区块链权证 31

2.4 区块链在影音娱乐和媒体行业的应用 32

2.5 区块链在医疗行业的应用 34

2.6 结语 36

第3章 区块链技术原理 37

3.1 比特币带来了区块链 37

3.2 比特币白皮书 39

3.2.1 简介 39

3.2.2 交易 40

3.2.3 时间戳服务器 41

3.2.4 工作量证明 41

3.2.5 网络 43

3.2.6 激励 44

3.2.7 回收硬盘空间 44

3.2.8 简化的支付确认 45

3.2.9 价值的组合与分割 46

3.2.10 隐私 47

3.2.11 计算 47

3.2.12 结论 50

3.3 比特币系统的参与者 51

3.4 比特币区块 54

3.4.1 比特币的交易过程 54

3.4.2 比特币挖矿 55

3.5 长链与短链 57

3.6 比特币的安全性 59

3.7 比特币挖矿设备的发展 60

3.7.1 比特币挖矿设备的发展阶段 61

3.7.2 矿机与矿场 62

3.7.3 矿池 64

3.7.4 云挖矿的应用 66

3.8 比特币交易中的非对称加密 67

3.8.1 非对称加密原理 67

3.8.2 生成钱包地址 70

3.8.3 交易加密过程 71

3.9 从比特币到区块链 73

3.10 区块链的系统框架 75

3.11 分布式网络 77

3.11.1 分布式网络的概念 77

3.11.2 分布式网络的特点 78

3.11.3 分布式网络的两种架构 79

3.12 广播与验证机制 81

3.12.1 广播 82

3.12.2 验证 82

第4章 区块链共识机制 85

4.1 共识机制的意义 85

4.2 工作量证明机制 86

4.2.1 哈希函数 87

4.2.2 工作量证明机制的基本原理 88

4.2.3 比特币的工作量证明过程 89

4.2.4 工作量证明机制的优缺点 92

4.3 权益证明机制 93

4.3.1 PoS机制与PoW机制的区别 93

4.3.2 PoS区块创建 96

4.3.3 PoS机制的发展过程 97

4.4 授权股权证明机制 98

4.4.1 DPoS概述 99

4.4.2 选举见证人 99

4.4.3 选举授权代表 100

4.5 区块链的三大类型 101

4.5.1 公有链 101

4.5.2 私有链 104

4.5.3 联盟链 105

第5章 区块链数据结构 109

5.1 区块链的数据组成 109

5.1.1 区块的数据结构 110

5.1.2 区块链数据结构的技术基础 111

5.1.3 哈希算法 112

5.1.4 默克树 113

5.1.5 时间戳 116

5.1.6 难度目标 117

5.1.7 随机数 118

5.2 区块链技术的算法 119

5.2.1 哈希算法概况 120

5.2.2 SHA256算法 122

5.3 椭圆曲线加密算法 129

5.3.1 椭圆曲线加密算法的特点 129

5.3.2 椭圆曲线加密算法的数学原理 130

5.3.3 椭圆曲线加密算法的加密原理 136

5.4 区块链的运行机制 138

5.5 区块链的交易机制 139

5.5.1 交易流程 139

5.5.2 比特币钱包 141

5.5.3 交易身份验证 142

5.6 区块链的造链机制 144

5.6.1 验证接收信息 144

5.6.2 创建区块 147

5.7 区块数据解读 152

第6章 以太坊 161

6.1 以太坊概述 161

6.2 以太坊的创立和发展 162

6.3 以太坊技术原理 165

6.3.1 以太坊与比特币的联系 165

6.3.2 以太坊账户 167

6.3.3 交易和消息 168

6.3.4 燃料 169

6.3.5 合约 171

6.3.6 智能合约示例 177

6.3.7 以太坊挖矿 179

6.3.8 以太坊区块 183

第7章 以太坊应用开发基础 195

7.1 以太坊开发环境的建立 195

7.2 Geth开发环境 198

7.2.1 初次启动 198

7.2.2 命令行安装模式 199

7.2.3 Geth的使用 200

7.2.4 Geth在私有链上的应用 202

7.3 轻节点模式 207

7.3.1 Ganache图形界面 207

7.3.2 安装Truffle 209

7.3.3 运行Ganache 211

7.4 网页模式 213

7.5 Mist浏览器 217

7.5.1 Mist安装 218

7.5.2 Mist应用 221

7.6 用MetaMask建立开发账户 225

7.7 以太坊开发的编程语言Solidity 229

7.7.1 Solidity语言简介 230

7.7.2 Solidity语言的常用语句 230

7.7.3 Solidity程序初步解读 236

第8章 Solidity开发基础 239

8.1 Solidity语言的数据类型 240

8.1.1 数值类型 240

8.1.2 地址类型 242

8.1.3 字节数组 244

8.1.4 地址常量 245

8.1.5 有理数和整数常量 245

8.1.6 字符串常量 246

8.1.7 十六进制常量 247

8.1.8 枚举类型 247

8.1.9 函数类型 248

8.1.10 数据位置 251

8.1.11 数组 252

8.1.12 结构 255

8.1.13 映射 257

8.1.14 包含左值的运算符 258

8.1.15 删除 258

8.1.16 基本类型的转换 259

8.1.17 类型推导 260

8.2 Solidity语言的表达式和控制结构 261

8.2.1 函数的输入参数和输出参数 261

8.2.2 控制结构 262

8.2.3 返回多元值 262

8.2.4 函数调用 262

8.2.5 函数参数的显名调用 263

8.2.6 省略函数参数的名称 264

8.2.7 在合约中创建新合约 264

8.2.8 解构赋值和返回多元值 265

8.2.9 范围和声明 266

8.2.10 错误处理:断言、请求、还原与异常 267

8.3 以太坊合约 270

8.3.1 创建合约 270

8.3.2 可见性 272

8.3.3 取值函数 274

8.3.4 函数修饰符 274

8.3.5 常数状态变量 276

8.3.6 视图函数 277

8.3.7 纯函数 278

8.3.8 后备函数 278

8.3.9 重载函数 279

8.3.10 事件 280

8.3.11 继承 282

8.3.12 构造器 285

8.3.13 抽象合约 286

8.3.14 接口 287

8.3.15 库 287

8.3.16 用于“using for” 291

8.4 Solidity汇编 292

8.4.1 内联汇编 292

8.4.2 句法 294

8.4.3 操作码 294

8.4.4 访问外部变量和函数 297

8.4.5 本地汇编变量的声明 298

8.4.6 赋值 299

8.4.7 if语句 299

8.4.8 switch语句 300

8.4.9 循环 300

8.4.10 函数 301

8.4.11 独立汇编 301

第9章 采用Solidity语言开发以太坊游戏 304

9.1 以太坊游戏的特点 304

9.2 以太坊游戏开发准备 306

9.3 以太坊游戏Influence代码框架 308

9.4 以太坊游戏Influence源代码解读 311

9.4.1 游戏界面 312

9.4.2 库文件lib 314

9.4.3 游戏主功能:小行星拍卖 323

9.4.4 游戏主功能:小行星代币 331

9.4.5 小结 341

后记 深入区块链,用技术改变未来 342