转载至: https://download.csdn.net/download/szprogman/10955461
下载链接: 点我一键跳转到 下载链接
下载声明: 本资料仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版!
这是一部从源码层面剖析EOS原理和全方位讲解EOS开发实战的著作。
作者是EOS全球生态系统中具有影响力的EOS社区引力区的联合创始人和核心团队成员,是引力区在EOS主网上的研究和实践成果,得到了EOS官方原产品副总等多位EOS生态领袖的一致好评和强烈推荐。
全书一共7章,从EOS的优势技术、源码实现、原生功能使用、智能合约开发、基于EOS的Dapp开发和侧链开发等6个方面,详细的讲解了从系统原理到软件部署,再到开发的全部细节,适合初学者和具有一定开发基础的读者阅读。
*部分 原理篇(第1~3章)
首先,从EOS项目诞生的初衷、愿景、发展历程和版本更迭等角度宏观地介绍了EOS项目本身;然后,从EOS的共识机制、账户体系、网络资源Token化、节点治理、脚本与虚拟机等角度展现了EOS的技术优势;*后,从源码角度分析了EOS项目的整体架构、共识算法代码实现、网络层代码实现、区块打包与广播代码的实现和关键工具的代码实现。
推荐序
前言
第一部分 原理篇
第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