失效链接处理 |
EOS区块链应用开发指南 PDF 下载
下载地址:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/11050092595.html
相关截图: 资料简介: EOS被称为区块链3.0,是下一代区块链技术,本书将向读者展示EOS区块链技术的众多概念和特性。全书共分为7章,分别是初识EOS、EOS的工作原理、开发工具和环境、编写智能合约、EOS RPC接口、创建和部署DApp、部署基于EOS的侧链等。本书希望能够帮助开发者进入EOS的世界并比较容易地上手开发DApp。 资料目录:
第1章 初识EOS1
1.1 区块链操作系统1
1.1.1 什么是EOS1
1.1.2 EOS要解决什么问题1
1.1.3 EOS的解决方案2
1.1.4 EOS的生态发展需要哪些支持4
1.2 EOS开发团队8
1.3 EOS基础名词解释11
1.3.1 区块链11
1.3.2 比特币11
1.3.3 以太坊12
1.3.4 智能合约14
1.3.5 DApp去中心化应用15
1.3.6 共识机制16
1.3.7 出块时间16
1.3.8 IPFS16
1.4 EOS系统的特点18
1.4.1 设计理念18
1.4.2 功能特性20
1.4.3 经济模型21
1.5 EOS技术意义22
1.5.1 EOS与BTC22
1.5.2 EOS与ETH22
1.5.3 EOS与腾讯服务器集群23
1.5.4 并行执行智能合约25
1.5.5 数据中心级节点26
1.5.6 跨链通信与更加轻量级的树证明27
1.5.7 拓展性28
1.5.8 拒绝服务攻击DDoS28
1.6 开发进度规划30
1.6.1 阶段1:最小可行的测试环境(2017年夏季)30
1.6.2 阶段2:最小可行的测试网络(2017年秋季)32
1.6.3 阶段3:测试&安全审计(2017年冬季,2018年春季)33
1.6.4 阶段4:并行优化(2018年夏季/秋季)34
1.6.5 阶段5:实现集群(未来)34
1.7 EOS系统当前面临的挑战34
1.7.1 开发者的成本34
1.7.2 潜在的攻击EOS系统的方法35
1.7.3 超级节点的服务器成本和稳定性35
1.8 总结36
第2章 EOS的工作原理37
2.1 EOS系统架构37
2.2 区块数据结构39
2.2.1 区块头(block_header)39
2.2.2 区块摘要(signed_block_summary)40
2.2.3 区块41
2.3 EOS的账户体系41
2.3.1 什么是账户41
2.3.2 什么是交易42
2.3.3 什么是公钥42
2.3.4 什么是密钥对43
2.3.5 什么是权限43
2.3.6 账户权限的更新43
2.3.7 什么是钱包44
2.3.8 账户和钱包的关系44
2.3.9 EOS权限管理46
2.3.10 丢失密码可恢复53
2.4 EOS的共识机制54
2.4.1 EOS共识机制的历史背景54
2.4.2 什么是BFT-DPoS54
2.4.3 交易的数据结构56
2.4.4 每秒处理交易数(TPS)57
2.4.5 交易确认57
2.4.6 交易作为权益证明(TaPoS)58
2.4.7 DPoS的不可逆确认算法58
2.4.8 EOS共识机制的优势59
2.4.9 EOS共识机制的问题61
2.5 社区治理模式62
2.5.1 超级节点62
2.5.2 节点基础配置62
2.5.3 节点收益63
2.5.4 EOS主网启动过程64
2.5.5 节点投票的设计65
2.5.6 并行的EOS主网68
2.6 EOS资源的经济模型68
2.6.1 什么是EOS资源68
2.6.2 EOS不是免费的吗?为什么还要消耗资源70
2.6.3 EOS资源模型与ETH的不同70
2.6.4 CPU和带宽的抵押模型71
2.6.5 内存买卖模型72
2.6.6 EOS收费模式可能存在的问题73
2.7 总结74
第3章 开发工具和环境75
3.1 EOS客户端安装75
3.1.1 硬件和系统要求75
3.1.2 环境准备76
3.1.3 安装EOS76
3.1.4 验证安装结果78
3.1.5 单节点测试78
3.1.6 多节点测试79
3.1.7 测试节点同步80
3.1.8 主网节点同步测试81
3.1.9 如何更新EOS版本84
3.1.10 编译安装常见问题86
3.2 nodeos命令行工具89
3.3 cleos命令行工具91
3.4 keosd钱包95
3.4.1 如何运行keosd95
3.4.2 命令参考96
3.4.3 使用nodeos管理钱包98
3.5 EOS源代码结构99
3.6 EOS编程开发工具103
3.6.1 Visual Studio Code103
3.6.2 CLion104
3.7 技术社区105
3.8 总结105
第4章 编写智能合约106
4.1 什么是EOS智能合约106
4.2 C/C++106
4.2.1 预处理和头文件107
4.2.2 构造函数107
4.2.3 私有函数107
4.2.4 公有函数108
4.2.5 设置Action108
4.2.6 .h、.hpp和.cpp文件108
4.3 WebAssembly109
4.4 ABI110
4.5 通信模式115
4.5.1 Action116
4.5.2 Transaction117
4.6 控制结构117
4.7 数据类型117
4.7.1 自定义类型117
4.7.2 结构体119
4.7.3 结构体的别名121
4.8 EOS智能合约数据库122
4.8.1 什么是EOS智能合约数据库122
4.8.2 多重索引数据库API(Multi-Index API)123
4.8.3 数据表124
4.8.4 多索引125
4.8.5 迭代器126
4.8.6 使用multi-index表126
4.9 eosio账户129
4.10 eosiolib库129
4.11 系统合约131
4.11.1 eosio.bios智能合约131
4.11.2 eosio.token智能合约133
4.11.3 exchange智能合约133
4.11.4 eosio.msig智能合约133
4.12 李嘉图合约(Ricardian Contract)134
4.13 应用实践1:Hello World135
4.13.1 你的第一个EOS DApp135
4.13.2 搭建智能合约测试环境135
4.13.3 创建DApp工程140
4.13.4 编译智能合约141
4.13.5 部署智能合约到账户143
4.13.6 调用智能合约144
4.13.7 李嘉图合约144
4.14 资源消耗限制147
4.15 调试智能合约148
4.16 智能合约安全性148
4.16.1 溢出漏洞处理148
4.16.2 智能合约更新升级149
4.16.3 EOS核心仲裁法庭解决争议149
4.17 应用实践2:eosio.token智能合约150
4.17.1 创建账户150
4.17.2 部署智能合约151
4.17.3 创建EOS Token151
4.17.4 发行Token152
4.17.5 转账153
4.18 总结154
第5章 EOS RPC接口155
5.1 配置插件155
5.2 测试工具155
5.3 主网RPC接口地址156
5.4 主要接口功能说明157
5.4.1 API参数157
5.4.2 Chain API157
5.4.3 Wallet API158
5.5 获取智能合约数据158
5.6 客户端签名160
5.6.1 keosd签名160
5.6.2 eosjs库签名162
5.6.3 eosjs2库签名164
5.6.4 mds-eosjs库签名166
5.7 应用实践3:EOS钱包168
5.7.1 钱包的各种类型169
5.7.2 钱包的数据和界面169
5.7.3 查询账户余额169
5.7.4 转账170
5.7.5 开源EOS钱包171
5.8 应用实践4:区块链浏览器172
5.8.1 基本信息172
5.8.2 区块列表与区块详情173
5.8.3 交易详情177
5.8.4 查询账户交易记录181
5.9 总结183
第6章 创建和部署DApp184
6.1 什么是DApp(去中心化应用)184
6.2 DApp基础架构185
6.3 Demux DApp架构186
6.4 MongoDB数据库插件189
6.5 智能合约的资源消耗191
6.6 应用实践5:TicTacToe192
6.6.1 游戏规则193
6.6.2 合约开发193
6.6.3 创建ABI文件205
6.6.4 编译合约207
6.6.5 部署合约207
6.6.6 命令行测试游戏207
6.6.7 创建Web前端应用程序209
6.7 应用实践6:Todolist DApp211
6.7.1 创建table212
6.7.2 创建Action213
6.7.3 部署和命令行测试214
6.7.4 前端实现215
6.8 应用实践7:EOS Blog DApp217
6.8.1 合约开发217
6.8.2 前端开发220
6.9 其他著名EOS DApp案例222
6.9.1 Everipedia——基于EOS的维基百科222
6.9.2 Chintai——EOS通证租赁平台224
6.9.3 EOSfinex——基于EOS的去中心化交易所226
6.9.4 RiskExchange——基于EOS的风险交易所227
6.10 总结228
第7章 部署基于EOS的侧链229
7.1 主链和侧链229
7.1.1 主链229
7.1.2 侧链229
7.1.3 分层网络架构230
7.2 侧链的意义231
7.2.1 根据资源付费的无币区块链231
7.2.2 降低开发资源费用231
7.3 启动多节点测试侧链232
7.4 启动支持投票的EOS侧链237
7.4.1 手动执行启动过程237
7.4.2 配置初始启动节点238
7.4.3 IP地址准备和P2P连接238
7.4.4 启动genesis节点238
7.4.5 为eosio账户创建密钥239
7.4.6 创建重要的系统账户239
7.4.7 部署eosio.token智能合约240
7.4.8 部署eosio.msig智能合约241
7.4.9 创建 SYS Token242
7.4.10 部署eosio.system智能合约243
7.4.11 切换到多节点243
7.4.12 抵押Token和拓展网络244
7.4.13 创建抵押账户245
7.4.14 注册出块节点246
7.4.15 eosio撤销权限249
7.5 总结250
本书总结251
参考文献252
|