(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
前 言
为什么要写这本书
随着区块链技术近两年迅速“走红”,身边越来越多的朋友想了解区块链技术及其应用场景。2017年一整年,笔者也在各种峰会上做过很多次区块链的演讲,约80%会议的听众是入门级别的,每次演讲完,都会有听众询问如何快速学习区块链技术。每当有新的学生加入我们的实习生团队时,他们也会问笔者如何快速入门。通常笔者会回答他们“从以太坊白皮书、黄皮书看起”。但是,真正能帮助他们厘清这个技术的背景、原理、关键知识点和实战要领的资料尚未系统化。为此,笔者也写过一些讲义以帮助大家理解,但是仍难以做到全面和系统。从那时起笔者就萌生了编写一本系统深入的区块链书籍的想法。但是由于工作繁忙,一直没有付诸行动。
随着区块链的升温,想了解该技术的朋友持续增多。每天笔者的微信、信箱都会有来自同事、朋友的信息,他们都在咨询如何学习区块链。于是,笔者觉得是时候写一本探索技术、指导开发的书了。
为什么选择以太坊呢?首先,它是区块链2.0的代表。其实“区块链”这个词脱离比特币(区块链1.0)而单独被各行业重视与以太坊的产生分不开。以太坊是第一个通用的区块链平台,换句话说,用户可以定义在区块链上运行什么和记录什么。以太坊的公有链已经运行两年多,整个社区不断修补出现的问题,积极寻求优化的途径。尽管它不是完美的,但它是目前经得起时间和应用验证的最稳定的系统。其他很多区块链项目都或多或少受到以太坊的启发。因此,系统学习以太坊可认为学习其他系统打下非常好的基础。其次,以太坊社区的建设比较完善和活跃,各个版本的代码质量较高,开发工具相对完善,应用也有一定规模,这使得大家易于上手学习。再次,笔者团队的工作也是以以太坊为主。比如笔者团队在开发微软的Coco区块链平台时,就以集成和优化以太坊为coco第一版本的目标。通过项目开发,笔者更加熟悉以太坊源码,这样也自然使得本书更加具体化。笔者曾在2017年翻译了《区块链项目开发指南》一书,该书介绍了以太坊开发相关知识,特点是覆盖面比较广,而本书会在深度上下工夫。因此,读者可以“搭配”着学习。
本书将展现给读者一个系统、全面的以太坊知识体系,以通俗易懂的语言结合直观的图示介绍每一个原理和工作流程,相信读者通过本书的学习可轻松快速地入门以太坊开发。
本书特色
首先,为了增强知识结构的凝聚性,本书没有泛泛而谈整个区块链,而是更加专注于以太坊公有链本身的技术。通过阅读本书,读者可以全面、深入地了解以太坊的顶层设计、实现原理、重要模块的技术细节,以及智能合约的编写与部署等重要概念和技术。这是本书与目前介绍区块链相关技术的书籍最大的不同。
其次,从技术深度上讲,本书所涉及的内容具有很好的层次性,既涵盖初学者所需的基本概念,也包括以太坊DApp开发工程师感兴趣的编程指南和代码解析,此外对以太坊在性能和安全性方面所尝试的改进技术进行了前瞻性介绍,以供资深工程师和研究人员参考、探讨。
再次,本书不仅介绍以太坊本身技术细节,还加入笔者在开发中的经验和技巧。比如在部署以太坊的时候可以手工操作,也可以用脚本在“云”上操作,其中脚本也分享给大家借鉴。
最后,本书的文字力求简洁、朴实且准确,可读性较强。
读者对象
区块链开发初学者
区块链应用架构师
开发应用架构师
区块链产品经理
其他对区块链技术感兴趣的人员
如何阅读本书
本书分为10章,下图比较清晰地展示了各章的主题。
第1章从区块链背景知识讲起,包括区块链基本原理及应用,使得初学者和开发者都能对区块链有整体性了解。然后引出为什么需要以太坊以及以太坊的基本知识,这为后面章节的阅读提供整体形象的铺垫。
第2章介绍以太坊的组成、关键概念和技术。本章比较重要,其后介绍的内容都将以本章的概念为基础。因此,必须仔细阅读。
第3章介绍不同区块链网络类型,以及如何部署不同类型的区块链。建议读者在阅读本章时也能同时跟着书中介绍的部署步骤进行操作,以更好地理解以太坊网络。根据实际经验,本章将介绍一些部署的窍门及脚本样例,相信一定能为大家的学习提供帮助。
第4章介绍智能合约和以太坊虚拟机的原理。了解该原理,可为接下来第5章学习开发智能合约打好基础。
第5章和第6章详细地介绍具体编写智能合约的方法以及案例详解。建议读者在阅读这两章时能同步操作,一起编写、编译、部署合约,达到最佳的学习效率和理解深度。
第7章介绍以太坊上数字资产定义的原理和方法,其中包括近期火爆的CryptoKitties(养猫游戏)的ERC 721代币合约标准的介绍。到这里为止,读者可以开始编写自己的以太坊应用了。
第8章将进一步对查看、分析以太坊公有链数据的工具和方法进行介绍。
第9章和第10章探讨区块链和以太坊的前沿技术。这两章会对以太坊在性能优化和隐私保护方面的技术进行介绍和讨论。这些技术尚处于比较初级的阶段,读者可以一边阅读一边思考,并提出自己的想法和建议。
勘误和支持
由于笔者的水平和时间有限,加之以太坊技术更新迭代快,书中难免存在一些不准确的叙述,恳请读者批评指正。如果读者朋友有更多的宝贵意见,欢迎通过邮箱EthereumDetail@hotmail.com联系笔者,期待读者朋友的真挚反馈,以在技术之路上互勉共进。
本书的其他贡献者
感谢我们团队李洋、张师铨、张宪、候冠豪、杨文彦、夏劲夫、周豪对本书内容的贡献!
致谢
笔者要特别感谢微软亚洲研究院的周礼栋和洪小文院长对笔者团队区块链项目的指导和支持。感谢陈洋博士过去一年多在区块链方面的共同探讨。感谢杨懋、伍鸣、熊一远、黎强、周沛源、Thomas Moscibroda、张益肇、殷秋丰、田江森、程骉、黎江、梁戈碧、宋青见、桂柯里、石朝阳、张蓉等同事、领导和朋友的支持与鼓励。感谢导师周傲英教授和周晓方教授指引方向。感谢同行的共同努力,感谢家人的支持!还要感谢V神Vitalik的支持与肯定。
最后还要感谢机械工业出版社华章公司的高婧雅编辑对本书的全程支持和指导。她在本书的内容组织和阅读体验方面给我们提出十分宝贵的意见和设计方案,正是她的兢兢业业、一丝不苟的负责态度,保证了本书内容的质量和可读性。
闫莺
作为一个在传统金融领域摸爬滚打多年的从业者,我对区块链技术的潜力,尤其是以太坊在金融科技领域的应用,抱有极大的兴趣。起初,我尝试阅读一些关于加密货币和区块链的入门书籍,但它们往往侧重于宏观概念,对于实际技术细节的阐述不足。《以太坊技术详解与实战》则提供了一种截然不同的体验。作者并没有回避复杂的底层技术,反而用一种非常严谨但又易于理解的方式,深入讲解了以太坊的共识机制、网络架构以及密码学基础。我特别欣赏书中关于智能合约安全性的讨论,这对于我这样一个关注风险控制的人来说,是至关重要的。如何编写安全、可审计的智能合约,如何防范常见的攻击向量,书中都给出了宝贵的指导。此外,它还探讨了以太坊在数字身份、供应链管理等非金融领域的应用前景,这拓宽了我对以太坊潜力的认知边界。这本书让我看到了区块链技术不仅仅是数字货币的载体,更是一种能够重塑各行各业的颠覆性力量。
评分最近我对去中心化应用(DApp)的开发充满了兴趣,一直在寻找能帮助我快速入门的相关资源。《以太坊技术详解与实战》这本书,给了我一次非常棒的学习体验。它并没有直接跳入代码,而是先花了不少篇幅来解释以太坊的整体架构,包括节点、网络、创世区块等等,这让我对整个系统的运作有了一个宏观的认识。随后,作者逐步深入到智能合约的编写,从Solidity语言的基础语法,到高级特性,比如继承、修饰符、事件等等,都讲解得非常细致。我最喜欢的是书中提供的很多实际的DApp开发案例,比如一个简单的去中心化交易所的搭建,或者一个众筹项目的实现。这些案例不仅仅是代码的堆砌,而是包含了从需求分析、合约设计到前端交互的完整流程,让我能够真正地“动手”实践,并且学到如何在真实场景中应用这些技术。这本书的实用性极强,让我觉得学习的过程是充实而有成就感的。
评分我是一名对Web3.0充满热情,并且正在积极探索其中的投资机会的科技观察者。对于以太坊,我一直认为它不仅仅是一个技术平台,更是构建下一代互联网的关键基础设施。《以太坊技术详解与实战》这本书,在我的阅读过程中,提供了一个全新的视角来看待这个生态。它深入剖析了以太坊的技术演进,特别是从PoW向PoS的转变,以及对整个生态系统可能带来的深远影响。作者对EVM(以太坊虚拟机)的详细讲解,让我理解了为什么以太坊能够成为智能合约的“运行心脏”,以及不同的智能合约语言是如何在EVM上编译和执行的。书中对Layer 2解决方案的介绍,也让我对以太坊的可扩展性有了更清晰的认识,例如Rollups和Sidechains的原理及优劣势分析,这对于理解以太坊未来的发展方向至关重要。此外,它还触及了DeFi、NFT等热门应用场景背后的技术支撑,让我能更理性地分析这些领域的价值和风险。这本书就像一个百科全书,为我这个非技术背景的读者打开了一扇了解以太坊底层逻辑的窗户,帮助我在信息爆炸的Web3.0时代,保持一份清醒的认知。
评分这本书简直是为我量身定做的!作为一个对区块链技术,特别是以太坊,充满好奇但又有些望而却步的编程爱好者,我一直在寻找一本既能深入浅出讲解原理,又能提供实际操作指导的书籍。之前也翻阅过几本,但总觉得要么过于理论化,要么操作步骤零散,缺乏系统性。《以太坊技术详解与实战》恰恰弥补了我的痛点。首先,它在技术原理的阐述上,没有使用过于晦涩难懂的专业术语,而是通过清晰的比喻和循序渐进的逻辑,将复杂的概念,比如智能合约的执行机制、Gas的运作原理、账户模型等等,一一拆解。我尤其喜欢作者对于“去中心化”这一核心理念的解读,不仅从技术层面讲透,还结合了现实世界的应用场景,让我深刻理解了以太坊的价值所在。而且,书中并没有止步于理论,大量的实战环节更是让我眼前一亮。从搭建开发环境,到编写和部署第一个智能合约,再到与DApp进行交互,每一步都配有详尽的代码示例和截图,即便是初学者,也能跟着一步步完成。这种理论与实践相结合的方式,极大地降低了学习门槛,让我在短时间内就能感受到技术带来的成就感。
评分我是一名对加密经济学和去中心化治理机制感兴趣的研究者。在我的研究领域,以太坊扮演着至关重要的角色,其技术设计直接影响着整个生态的健康发展。《以太坊技术详解与实战》这本书,在提供技术细节的同时,也给我带来了不少启发。作者对以太坊 Gas 机制的深度分析,让我理解了其在激励网络参与者和防止滥用方面的作用。同时,书中对以太坊网络升级(如君士坦丁堡、伦敦等)的阐述,也让我认识到社区驱动的治理模式是如何影响技术路线图的。我尤其关注书中关于 DAO(去中心化自治组织)的讨论,它不仅介绍了 DAO 的基本原理,还探讨了不同的治理模型和投票机制,这对于我理解如何在分布式环境中实现有效的决策过程非常有帮助。这本书将技术层面的创新与更广泛的经济和社会学议题相结合,提供了一个独特的视角来审视以太坊的潜力和挑战。
评分一直相信京东,赞一个,正品,速度很快,快递小哥辛苦了!
评分感觉理论部分很多,结合的部分没那么多,没有什么应用的东西
评分买来看看,应该还不错的。
评分区块链技术完全不了解,做活动买书,顺便买来看看,这本书好像在区块链里面全是销量靠前的。。
评分以前没有认真评价过,不知道浪费了多少积分,这个福
评分很好 囤货 慢慢读 慢慢看 一次买了很多 送货及时
评分物品很不错,一直信赖京东,发货速度快,快递员也都会送到到家。希望京东继续把控好品质关,越做越好。
评分好书,专业正版,值得一看
评分活动购买,价格便宜,物流给力!
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.teaonline.club All Rights Reserved. 图书大百科 版权所有