《Solidity编程 构建以太坊和区块链智能合约的初学者指南》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:(印)瑞提什·莫迪(Ritesh Modi)著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2019
  • ISBN:9787111616009
  • 页数:186 页
图书介绍:本书首先简要介绍区块链、以太坊及其中最重要的概念或组件。随后介绍如何安装所有必要的工具来编写、测试和调试以太坊上的Solidity合约。然后书中将探索Solidity源文件的布局及如何使用不同的数据类型,介绍构建智能合约时使用的运算符、控制结构和数据结构。最后通过Solidity介绍面向对象编程中的函数调用、返回类型、函数修改器。通过本书你将学会事件记录和异常处理,以及测试和调试智能合约。

第1章 区块链、以太坊和智能合约 1

1.1什么是区块链 2

1.2为什么是区块链 3

1.3加密技术 4

1.3.1散列 5

1.3.2数字签名 7

1.4以太币 7

1.5 gas 8

1.6区块链和以太坊架构 9

1.6.1区块如何互相连接 10

1.6.2交易和区块如何互相连接 11

1.7以太坊节点 12

1.7.1 EVM 12

1.7.2以太坊挖矿节点 13

1.7.3如何挖矿 14

1.8以太坊账户 15

1.8.1外部账户 16

1.8.2合约账户 16

1.9交易 16

1.10区块 20

1.11端到端的交易 21

1.12什么是合约 22

1.13什么是智能合约 22

1.14如何部署合约 27

1.15本章小结 27

第2章 安装以太坊和Solidity 29

2.1以太坊网络 29

2.1.1主网 30

2.1.2测试网络 30

2.1.3私有网络 31

2.1.4联盟网络 31

2.2 Geth 31

2.3搭建一个私有网络 35

2.4 ganache-cli 40

2.5 Solidity编译器 43

2.6 web3 JavaScript库 43

2.7 Mist钱包 45

2.8 MetaMask 47

2.9本章小结 51

第3章 Solidity介绍 53

3.1以太坊虚拟机 53

3.2 Solidity和Solidity文件 54

3.2.1预编译指令 55

3.2.2注释 56

3.2.3 import语句 57

3.2.4合约 58

3.3合约的结构 59

3.3.1状态变量 60

3.3.2结构 62

3.3.3修改器 63

3.3.4事件 64

3.3.5枚举 65

3.3.6函数 66

3.4 Solidity中的数据类型 68

3.4.1值类型 68

3.4.2引用类型 69

3.5存储和内存数据位置 71

3.5.1规则1 71

3.5.2规则2 71

3.5.3规则3 72

3.5.4规则4 72

3.5.5规则5 72

3.5.6 规则6 74

3.5.7规则7 75

3.5.8规则8 76

3.6字面量 77

3.7整型 78

3.8布尔型 79

3.9字节数据类型 80

3.10数组 82

3.10.1固定数组 83

3.10.2动态数组 83

3.10.3特殊数组 84

3.10.4数组属性 86

3.11数组的结构 86

3.12枚举 88

3.13地址 89

3.14映射 90

3.15 本章小结 94

第4章 全局变量和函数 97

4.1 var类型变量 97

4.2变量声明提前 99

4.3变量作用域 100

4.4类型转换 101

4.4.1隐式转换 102

4.4.2显式转换 102

4.5区块和交易全局变量 104

4.5.1交易和消息全局变量 105

4.5.2 tx.origin和msg.sender的区别 105

4.6加密全局变量 106

4.7地址全局变量 107

4.8合约全局变量 107

4.9本章小结 108

第5章 表达式和控制结构 109

5.1 Solidity表达式 109

5.2 if决策控制 111

5.3 while循环 113

5.4 for循环 114

5.5 do...while循环 115

5.6 break语句 116

5.7 continue语句 117

5.8 return语句 118

5.9本章小结 119

第6章 编写智能合约 121

6.1智能合约 121

6.2编写一个简单的合约 122

6.3创建合约 123

6.3.1使用new关键字 123

6.3.2使用合约地址 124

6.4构造函数 125

6.5合约组合 126

6.6继承 127

6.6.1单继承 127

6.6.2多级继承 129

6.6.3分层继承 130

6.6.4多重继承 130

6.7封装 132

6.8多态性 132

6.8.1函数多态性 133

6.8.2合约多态性 133

6.9方法覆盖 135

6.10抽象合约 136

6.11接口 137

6.12本章小结 139

第7章 函数、修改器和fallback函数 141

7.1函数输入和输出 141

7.2修改器 143

7.3 view函数、constant函数和pure函数 146

7.4地址相关函数 148

7.4.1 send方法 149

7.4.2 transfer方法 151

7.4.3 call方法 151

7.4.4 callcode方法 154

7.4.5 delegatecall方法 154

7.5 fallback函数 154

7.6本章小结 157

第8章 异常、事件与日志 159

8.1错误处理 160

8.1.1 require语句 160

8.1.2 assert语句 162

8.1.3 revert语句 163

8.2事件与日志 163

8.3本章小结 167

第9章 Truffle基础与单元测试 169

9.1应用程序开发生命周期管理 169

9.2 Truffle 170

9.3使用Truffle进行开发 171

9.4使用Truffle进行测试 176

9.5本章小结 178

第10章 合约调试 179

10.1调试 179

10.1.1 Remix编辑器 180

10.1.2使用事件 183

10.2使用Block Explorer 183

10.3本章小结 186