第1章 以太坊:新一代的区块链平台 1
1.1理解区块链 2
1.2以太坊设计思路与特色技术 4
1.3应用场景 8
1.4去中心化应用DApp 10
1.4.1 DApp的优势 10
1.4.2 DApp实例 11
1.5以太坊的主流开源项目 13
1.6本书的组织结构 14
第2章 以太坊架构和组成 15
2.1以太坊整体架构 15
2.2区块 16
2.3账户 18
2.3.1外部账户 19
2.3.2合约账户 20
2.3.3私钥和公钥 20
2.3.4钱包 22
2.4数据结构与存储 24
2.4.1数据组织形式 24
2.4.2状态树 29
2.4.3交易树 29
2.4.4收据树 29
2.4.5数据库支持——Leve1DB 30
2.5共识机制 30
2.5.1 PoW 31
2.5.2 PoS 34
2.6以太币 36
2.7交易 41
2.7.1交易费用 41
2.7.2交易内容 43
2.7.3一个交易在以太坊中的“旅程” 45
2.8数据编码与压缩 51
2.9以太坊客户端和API 52
2.10以太坊域名服务 57
2.11本章小结 58
第3章 不同类型的以太坊区块链及其部署 59
3.1区块链类型 59
3.1.1公有链 60
3.1.2联盟链 61
3.1.3私有链 66
3.2安装和部署以太坊 67
3.2.1安装以太坊客户端 67
3.2.2部署以太坊联盟链 70
3.3如何在Azure上挖矿 81
3.3.1部署虚拟机 81
3.3.2安装GPU驱动 82
3.3.3安装挖矿工具包 83
3.3.4加入矿池 83
3.3.5 GPU挖矿收益权衡 83
3.4本章小结 84
第4章 智能合约与以太坊虚拟机 86
4.1智能合约 86
4.1.1智能合约的操作 89
4.1.2存储方式 90
4.1.3指令集和消息调用 92
4.1.4日志 93
4.2 Solidity语言 93
4.2.1结构 93
4.2.2变量类型 94
4.2.3内置单位、全局变量和函数 100
4.2.4控制结构语句 101
4.2.5函数 103
4.2.6 constant函数和fallback函数 105
4.2.7函数修改器 106
4.2.8异常处理 107
4.2.9事件和日志 109
4.2.10智能合约的继承 110
4.3本章小结 112
第5章 编写和部署智能合约 113
5.1智能合约工具 113
5.2 Solidity集成开发工具Remix 115
5.2.1 Remix界面 115
5.2.2初探Remix调试 117
5.2.3使用Remix调试智能合约的多种调用方式 120
5.3 Truffle 126
5.3.1 Truffle安装 126
5.3.2创建 128
5.3.3编译 129
5.3.4部署 129
5.3.5测试 132
5.3.6配置文件 133
5.4如何保证智能合约的安全可靠 134
5.4.1常见的安全陷阱 135
5.4.2智能合约开发建议 140
5.5本章小结 141
第6章 智能合约案例详解 143
6.1投票 143
6.2拍卖和盲拍 153
6.2.1公开拍卖 153
6.2.2盲拍 156
6.3状态机 161
6.4权限控制 163
6.5本章小结 166
第7章 以太坊上数字资产的发行和流通 167
7.1以太坊上的数字资产定义 167
7.2发行和流通 168
7.3 ERC 20代币合约标准 168
7.3.1标准定义 169
7.3.2 ERC 20标准接口 169
7.3.3现有ERC 20标准代币 171
7.4 ERC 721代币合约标准 174
7.4.1标准定义 174
7.4.2 CryptoKitties DApp 175
7.5本章小结 177
第8章 以太坊数据查询与分析工具 178
8.1以太坊浏览器Etherscan 178
8.1.1 Etherscan的基本功能 179
8.1.2其他功能 190
8.1.3 API 193
8.1.4 ENS域名查询 194
8.2 ETHERQL 195
8.2.1同步管理器 197
8.2.2处理程序链 197
8.2.3持久化框架 198
8.2.4开发者接口 198
8.2.5实现 199
8.3本章小结 199
第9章 以太坊性能优化 201
9.1分片技术 201
9.2雷电网络 205
9.3 Casper——下一代以太坊共识协议 208
9.4本章小结 210
第10章 隐私保护和数据安全 211
10.1区块链的隐私问题 212
10.1.1“化名”与“匿名” 212
10.1.2去匿名攻击:交易表分析 212
10.2零钞:基于zkSNARK的完美混币池 214
10.2.1零知识证明 214
10.2.2零钞的运行原理 215
10.3 Hawk:保护合约数据私密性 216
10.4 Coco框架 218
10.4.1 TEE环境简介 219
10.4.2 Coco框架的运行原理 219
10.5以太坊隐私保护技术路线:Baby ZoE 221
10.6总结与展望 223
10.6.1隐私方案总结 223
10.6.2隐私技术展望 223
后记 225