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