具体描述
以太坊创始人、首席科学家Vitalik Buterin倾力推荐,工业界与学术界区块链专家联合撰写,权威性和实用性毋庸置疑。本书深入剖析以太坊架构、核心部件、智能合约编写与开发案例等关键技术,并涵盖以太坊数据分析、性能优化、隐私与数据安全等前沿实践与进展。
第1章 介绍区块链背景、基本原理与应用,以对区块链有整体性了解。
第2章 详解以太坊架构与组成,涵盖以太坊架构、核心概念与技术、客户端与域名服务等,是后续学习的基础。
第3章 带领读者部署不同网络类型以太坊区块链,含有多种技巧与脚本样例。
第4章 剖析智能合约与以太坊虚拟机的原理,这两者是以太坊的魅力所在,了解后可以更好地开发智能合约。
第5~6章 手把手教学,给出具体编写、编译、部署智能合约的方法和案例,密集锻炼读者智能合约编程与实践能力。
第7章 剖析以太坊上数字资产定义的原理和方法,包括CryptoKitties养猫游戏基于的ERC 721合约标准,到此读者可以编写以太坊应用了。
第8章 会进一步对如何查看、分析以太坊公有链数据的工具和方法进行介绍。
第9~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
· · · · · · (收起)
读后感
用户评价
我得说,这本书的内容深度和广度完全超出了我预期的“技术详解”范畴。它不仅仅停留在对某个特定协议表面的介绍,而是深入到了很多其他书籍会避开的边缘地带。比如,作者对EVM(以太坊虚拟机)的字节码执行模型进行了非常细致的剖析,甚至讨论了Gas机制在不同复杂合约场景下的边际效应和潜在的优化空间,这部分内容对于希望进行底层性能调优的开发者来说,简直是如获至宝。更让我惊喜的是,书中对去中心化金融(DeFi)协议的风险模型进行了批判性的审视,它没有盲目赞美DeFi的创新性,而是用严谨的数学模型和博弈论的角度分析了闪电贷攻击的成因和预防措施,这显示出作者超越一般“教程编写者”的行业洞察力。这种将理论深度、工程实践和前沿风险分析熔于一炉的写作手法,使得这本书的价值远高于一般的入门指南,它更像是一份为资深架构师准备的参考手册。
从实战操作的角度来看,这本书的配套材料和案例的实用性是它最大的亮点之一。许多技术书籍虽然理论讲得头头是道,但一旦需要读者自己动手搭建环境或部署应用时,就会发现配置过程极其繁琐,甚至示例代码已经过时。然而,这本书在这方面做得非常到位。所有代码示例都经过了严格的版本控制和测试,并且作者非常贴心地提供了完整的GitHub仓库链接,用户可以直接克隆下来运行,省去了大量环境配置的弯路。我特别欣赏作者在介绍零知识证明(ZK-proofs)时,选择了一个集成现代ZK-Rollup框架的微型项目作为实战演示,这个项目虽然规模不大,但覆盖了从电路设计到证明生成的完整流程。这使得读者不仅仅停留在概念理解层面,而是真正掌握了将前沿密码学技术落地到实际应用中的关键步骤,这种“可操作性”的权重,在技术学习中是无可替代的。
这本书在结构安排上体现出一种高度的逻辑自洽性,它建立了一个清晰的知识层级体系。开篇部分专注于奠定基础,例如对分布式共识机制的非技术性类比描述,为后续深入技术细节做了充分的“暖身”。紧接着,核心章节非常平稳地过渡到客户端软件的架构设计和网络同步协议的解析。最妙的是,作者在全书的尾声,专门开辟了一个章节讨论了“监管合规性”和“可持续发展”等更宏观的议题,这使得这本书的格局一下子打开了。它不再局限于单纯的“How to build”,而是延伸到了“Should we build”和“How to maintain”的层面。这种从底层技术原理,到工程实践,再到行业伦理与未来的全面覆盖,使得这本书具有极高的长期参考价值。即便是两三年后,当某些具体工具发生迭代时,书中对底层原理的深刻阐述依然能够指导读者快速适应新的技术栈,这种“内功心法”的传授,才是真正优秀技术著作的标志。
这本书的排版和印刷质量实在令人印象深刻。纸张的手感相当不错,摸起来光滑却又不失韧性,即便是长时间阅读也不会感觉眼睛疲劳。装帧设计上,封面采用了低饱和度的深蓝色调,配合着简洁的几何图形和烫金字体,透露出一种严谨而专业的学术气息。翻开内页,你会发现图文排版的用心之处:关键的代码块都用醒目的颜色进行了区分,确保了代码的可读性,这对于技术类书籍来说至关重要。而且,书中大量的流程图和架构示意图绘制得极其精细,复杂的概念通过可视化手段被清晰地拆解开来,即便是初次接触这些底层机制的读者,也能迅速抓住核心脉络。例如,在阐述区块的生成和验证过程时,作者并没有采用枯燥的长篇文字描述,而是巧妙地插入了一张层级分明的状态转换图,这极大地降低了理解门槛。我可以想象,为了达到这种视觉上的舒适和信息传递的高效,编辑和设计团队投入了巨大的心血。总而言之,这本书在“阅读体验”这个维度上,绝对是同类技术书籍中的佼佼者,让人愿意捧在手里反复研读,而不是仅仅作为工具书束之高阁。
这本书的叙事风格非常独特,它不像传统教科书那样冷冰冰地堆砌事实,反而带有一种引导性的、对话式的讨论氛围。作者似乎总是站在读者的角度,预判我们可能在哪里产生疑惑,然后在紧随其后的段落中,以一种非常自然的方式给出解答。举个例子,在解释智能合约的存储布局(Storage Layout)时,作者先抛出了一个现实中常见的陷阱——结构体成员的顺序对内存效率的影响,然后才引出Solidity语言的官方规范,这种“先发现问题,再寻求解决方案”的叙述逻辑,极大地增强了阅读的参与感和记忆效果。此外,作者在引用外部资源时也非常审慎,他不仅给出了链接或文献名称,还简要评价了该资源的可信度和侧重点,这种“策展人”式的引导,避免了读者陷入海量信息碎片中迷失方向。读起来感觉就像是有一位经验极其丰富的导师,耐心地陪伴你一步步攀登技术高峰,而不是生硬地将知识点倾倒过来。
薄薄的一本书,内容包罗万象.每个话题都稍微介绍了下.还是值得看看的.
粗略读完了,很详尽,从原理到DAPP都有涉及,需实践
粗略读完了,很详尽,从原理到DAPP都有涉及,需实践
本书介绍了以太坊的架构、智能合约以及相关工具,其中智能合约部分讲得相对详细。
薄薄的一本书,内容包罗万象.每个话题都稍微介绍了下.还是值得看看的.