具体描述
这是一部从源码层面剖析EOS原理和全方位讲解EOS开发实战的著作。
作者是EOS全球生态系统中具有影响力的EOS社区引力区的联合创始人和核心团队成员,是引力区在EOS主网上的研究和实践成果,得到了EOS官方原产品副总等多位EOS生态领袖的一致好评和强烈推荐。
全书一共7章,从EOS的优势技术、源码实现、原生功能使用、智能合约开发、基于EOS的Dapp开发和侧链开发等6个方面,详细的讲解了从系统原理到软件部署,再到开发的全部细节,适合初学者和具有一定开发基础的读者阅读。
部分 原理篇(第1~3章)
首先,从EOS项目诞生的初衷、愿景、发展历程和版本更迭等角度宏观地介绍了EOS项目本身;然后,从EOS的共识机制、账户体系、网络资源Token化、节点治理、脚本与虚拟机等角度展现了EOS的技术优势;*后,从源码角度分析了EOS项目的整体架构、共识算法代码实现、网络层代码实现、区块打包与广播代码的实现和关键工具的代码实现。
第二部分 实战篇(第4~7章)
这部分主要从实战开发的角度详细讲解了EOS网络的启动、原生功能的使用、智能合约的开发、DApp的开发、基于EOS的侧链和竞争链的开发等内容。不仅详细讲解了各项开发所涉及的技术点、开发方法、开发技巧,而且还包含大量的实战案例。
附录部分展望了EOS主网优化的方向,涉及百万TPS目标如何实现和跨链交互等方面的内容。
作者简介
李万才
复旦大学博士,国际上有影响力的区块链技术专家,EOS基金会董事,EOS引力区联合创始人和理事,国家技术转移东部中心区块链产业中心特聘专家,全球石墨烯区块链应用中心理事。
复旦大学计算机科学技术学院外聘教师。长期在科研院所从事技术研发工作,是数据加密、网络安全及物联网技术专家。主持和参与过、省部级科研项目多达数十项,发表EI、SCI论文十多篇,获得十多项专利。
目录信息
前言
第一部分 原理篇
第1章 EOS基本介绍2
1.1 区块链2.0的痛点2
1.2 EOS项目定义与愿景5
1.3 EOS项目的发展历程8
1.4 EOS项目版本更迭简况与现状11
第2章 EOS项目技术优势解析15
2.1 EOS的共识机制(BFT-DPoS)16
2.1.1 超级节点竞选18
2.1.2 持币者投票19
2.1.3 超级节点治理20
2.2 EOS的账户体系20
2.2.1 基于角色的多层级账户体系21
2.2.2 账户权限管理21
2.2.3 强制延迟消息执行策略22
2.2.4 密钥丢失或被盗后的恢复23
2.3 网络资源Token化23
2.3.1 带宽和日志存储23
2.3.2 计算和计算积压(CPU)24
2.3.3 状态存储器(RAM)24
2.4 EOS的节点治理25
2.4.1 宪法和协议指导下的关键操作25
2.4.2 宪法和协议的升级26
2.5 脚本与虚拟机27
第3章 EOS代码原理分析29
3.1 EOS项目代码框架总览29
3.1.1 脚本层29
3.1.2 插件层31
3.1.3 合约层36
3.1.4 支持层39
3.2 共识算法代码实现42
3.2.1 DPoS机制实现关键代码分析43
3.2.2 BFT算法实现关键代码分析53
3.3 网络层代码实现61
3.4 区块打包与广播的代码实现66
3.5 系统合约层代码实现70
3.5.1 eosio.system合约代码分析71
3.5.2 eosio.Token合约代码分析79
3.5.3 eosio.msig合约代码分析82
3.5.4 eosiolib依赖库84
3.6 EOS关键工具的代码实现89
3.6.1 nodeos代码实现89
3.6.2 cleos代码实现92
3.6.3 keosd代码实现94
第二部分 实战篇
第4章 EOS网络启动与原生功能介绍104
4.1 EOS项目安装部署与编译104
4.2 配置文件修改与测试106
4.3 EOS测试网启动108
4.3.1 Bios节点109
4.3.2 预出块节点109
4.3.3 普通节点111
4.4 EOS项目常用功能112
4.4.1 链上信息查询112
4.4.2 钱包管理126
4.4.3 账户创建与权限管理132
4.4.4 代币的交易135
4.4.5 交易的签名与发送137
4.4.6 系统资源获取138
4.5 智能合约的部署与调用140
第5章 智能合约开发142
5.1 智能合约简介142
5.1.1 智能合约定义143
5.1.2 智能合约历史148
5.1.3 智能合约优劣势154
5.1.4 智能合约应用场景155
5.2 EOS中的智能合约165
5.3 EOS智能合约文件结构169
5.3.1 .abi文件170
5.3.2 .wasm/.wast文件171
5.3.3 eosioapp编译器使用172
5.4 EOS智能合约依赖库介绍179
5.5 EOS智能合约实战项目196
5.5.1 HelloWorld合约196
5.5.2 数据库合约200
5.6 常见bug与debug思路总结205
第6章 基于EOS的DApp开发207
6.1 什么是DApp207
6.1.1 比特币是第一个DApp208
6.1.2 DApp命名的原因208
6.1.3 DApp运作的法律模型209
6.2 开发DApp的一般流程210
6.2.1 建立共识的机制210
6.2.2 设计分发Token的机制211
6.2.3 常见DApp开发阶段213
6.3 DApp的应用领域214
6.3.1 游戏领域214
6.3.2 社交/内容分发平台216
6.3.3 数字货币钱包216
6.4 基于EOS的DApp开发思路217
6.5 DApp开发实例—网页发币227
第7章 基于EOS的侧链/竞争链开发232
7.1 侧链/竞争链的概念与起源232
7.2 侧链实现方式235
7.3 主流侧链项目239
7.4 EOS侧链242
7.5 EOS竞争链245
附录A EOS系统优化方向展望248
· · · · · · (收起)
读后感
用户评价
这本书的行文风格,说实话,初看之下略显硬朗,带着一股学者特有的严谨和一丝不苟,但这恰恰是我最需要的。作者似乎完全没有进行过度的“小白化”处理,直接将我们带入到了核心概念的深水区。我喜欢这种不拐弯抹角、直击本质的叙事方式。那些技术术语的引用和解释,都显得那样掷地有声,仿佛是在进行一场高水平的学术研讨会,而不是面向大众的科普读物。有那么几处,我甚至需要停下来,对照着查阅一些背景资料,但这并非是负面的体验,反而激起了我更深层次的好奇心——它成功地让我意识到了自己知识体系中的盲区,并立刻提供了修正和拓展的可能性。这种“推着你走”的学习过程,远比温吞水般的介绍来得有效得多,它要求读者拿出百分之百的专注力。
这本书的深度和广度令人印象深刻,它显然是基于作者长期一线实践和深入研究的结晶。我特别欣赏它对于“为什么”的探讨,而非仅仅停留在“是什么”和“怎么做”。在讲解某一既定方案时,作者总是会深入剖析其背后的权衡取舍(Trade-offs),不同设计选择之间的哲学冲突和现实妥协。这种对设计决策深层动因的挖掘,让这本书超越了一本单纯的技术手册。它更像是一本关于架构师思维方式的教材,教导读者在面对真实世界的复杂约束时,如何做出理性、前瞻性的判断。读完后,我感觉自己不仅仅是学到了一套操作流程,更是被赋予了一种更成熟、更具批判性的技术视角,这对于职业发展来说是无价的财富。
阅读这本书的过程中,我体验到了一种渐进式的顿悟感。并不是说它生涩难懂,而是它巧妙地设置了“知识的阶梯”。前期的铺垫非常扎实,为后续复杂的论证打下了坚实的基础。当读到一些被业界普遍认为晦涩难懂的算法实现或设计哲学时,我惊喜地发现,基于前面章节积累的理解,那些曾经困扰我的难点竟然迎刃而解。这种“原来如此”的时刻,是技术阅读中最令人兴奋的体验。作者在关键转折点上,会使用一些精妙的比喻或类比,这些并非是肤浅的简化,而是能触及事物本质的深刻洞察,它们在我的脑海中构建起清晰的模型,使得抽象的概念得以具象化,大大提升了知识的留存率。
我发现这本书在处理不同技术层面之间的关系时,展现出了一种罕见的宏观视野。它不仅仅局限于某个单一模块的讲解,而是将各个组件视为一个庞大生态系统中的有机部分。比如,当谈及某一特定机制的设计时,作者总能巧妙地回溯到它在整个系统架构中的历史定位和未来演进趋势。这种立体化的观察角度,极大地帮助我跳出了“只见树木不见森林”的困境。很多同类书籍往往在讲解到某一阶段就戛然而止,留给读者的更多是零散的知识点,但这一本却像是在绘制一张详尽的、多维度的技术地图,让你清楚地知道你现在所处的位置,以及通往下一个重要里程碑的路径。对于想要构建完整技术蓝图的人来说,这种结构化的梳理价值无可估量。
这本书的装帧设计着实让人眼前一亮,那种沉稳又不失现代感的配色,拿在手里份量十足,立刻能感受到作者在内容打磨上的用心。我尤其欣赏封面上那些抽象的几何图形,它们似乎在无声地诉说着某种底层逻辑和复杂系统的精妙构造。初翻阅时,那种触手可及的纸张质感,配上清晰锐利的印刷字体,阅读体验是极佳的。光是摆在书架上,它本身就构成了一种知识的宣言,让人油然而生一种想要深入探索的冲动。当然,评价一本技术书籍不能只看外表,但一个好的载体确实能为接下来的学习旅程定下基调。我感觉作者在排版布局上也花了不少心思,图表的运用恰到好处,没有那种把复杂概念堆砌在一起的压迫感,而是引导着读者一步步拆解难题。这种对细节的关注,是真正体现出作者对读者群体的尊重,也预示着这本书的内容绝非泛泛而谈,而是经过深思熟虑的系统性梳理。
感觉像入门,大致介绍了EOS的模块,有的还到了代码级别.但是C++的,只能草草浏览一下了.其他介绍性内容毕竟多,内容也比较泛,不是特别针对EOS,用处不大.
比那个《EOS区块链应用开发指南》好点。算是讲EOS区块链的先驱书籍了。
比那个《EOS区块链应用开发指南》好点。算是讲EOS区块链的先驱书籍了。
感觉像入门,大致介绍了EOS的模块,有的还到了代码级别.但是C++的,只能草草浏览一下了.其他介绍性内容毕竟多,内容也比较泛,不是特别针对EOS,用处不大.
感觉像入门,大致介绍了EOS的模块,有的还到了代码级别.但是C++的,只能草草浏览一下了.其他介绍性内容毕竟多,内容也比较泛,不是特别针对EOS,用处不大.