阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      以太坊技术详解与实战

      以太坊技术详解与实战

      编辑推荐

      (1)以太坊创始人、首席科学家 Vitalik Buterin 倾力推荐,工业界与学术界区块链专家联合撰写,系统性和实用性毋庸置疑

      (2)深入剖析以太坊架构、核心部件、智能合约编写与开发案例等关键技术,并涵盖以太坊数据分析、性能优化、隐私与数据安全等前沿实践与进展

      内容简介

      本书得到以太坊创始人、首席科学家 Vitalik Buterin 认可与推荐,是为数不多系统性介绍以太坊的书籍,涵盖架构、核心概念、部署、智能合约实践等,并涵盖多个读者关心的热点主题。

      第 1~2 章介绍区块链基本原理、架构、核心概念等,以对区块链有整体性了解。

      第 3 章部署不同网络类型以太坊区块链,含有多种技巧与脚本样例。

      第 4~6 章剖析智能合约和以太坊虚拟机的原理,并手把手教学,给出具体编写、编译、部署智能合约的方法与案例,密集锻炼读者智能合约编程与实践能力。

      第 7 章剖析以太坊上数字资产定义的原理和方法,包括 CryptoKitties 养猫游戏基于的 ERC 721 合约标准,到此读者可以编写以太坊应用了。

      第 8~10 章涵盖太坊公有链数据分析、以太坊对性能优化、隐私保护、数据安全等技术。这也是业界讨论比较多的内容,作为读者后续研究和深入的基础。

      作者简介

      闫莺(博士),微软亚洲研究院主管研究员,区块链领域负责人,微软 Coco 区块链平台中国负责人。中国软件协会区块链创业学院及区块链专委会专家、中国电子学会区块链专家委员。专注于区块链技术、大数据分析、数据库以及云计算的研究。在区块链领域获得多项国际专利,并在数据库和云计算领域国际会议论文和期刊 30 余篇。参与翻译《区块链项目开发指南》。

      郑凯(博士),电子科技大学教授,博士生导师,澳大利亚昆士兰大学计算机科学博士。主要研究领域为区块链数据管理,以及时空数据挖掘、不确定数据库、内存数据库、图数据库等。在数据库、数据挖掘等领域的重要会议和期刊发表论文 100 余篇,被累计引用 1500 余次。2013 年获澳大利亚优秀青年基金,2015 年获数据库会议 ICDE 论文奖。担任数据库领域知名国际会议的程序主席和联合执行主席,国际 SCI 期刊客座编委,以及数十个国际会议的程序委员。

      郭众鑫,微软亚洲研究院研发工程师,微软 Coco 区块链平台核心开发者。专注于区块链技术、大数据分析、分布式系统等方面的研究和开发。

      目录

      • 前 言

      第 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 数据库支持——LevelDB 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

      目录
      目录