![EOS区块链应用开发指南](https://cover.qianqiantushu.cc/97/s6094b63.jpg)
![EOS区块链应用开发指南](https://cover.qianqiantushu.cc/97/s6094b63.jpg)
EOS区块链应用开发指南PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:虞家男编著
- 出 版 社:北京:电子工业出版社
- 出版年份:2019
- ISBN:7121350726
- 页数:252 页
第1章 初识EOS 1
1.1区块链操作系统 1
1.1.1什么是EOS 1
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 IPFS 16
1.4 EOS系统的特点 18
1.4.1设计理念 18
1.4.2功能特性 20
1.4.3经济模型 21
1.5 EOS技术意义 22
1.5.1 EOS与BTC 22
1.5.2 EOS与ETH 22
1.5.3 EOS与腾讯服务器集群 23
1.5.4并行执行智能合约 25
1.5.5数据中心级节点 26
1.5.6跨链通信与更加轻量级的默克尔树证明 27
1.5.7拓展性 28
1.5.8拒绝服务攻击DDoS 28
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.1EOS系统架构 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-DPoS 54
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安装EOS 76
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如何运行keosd 95
3.4.2命令参考 96
3.4.3使用nodeos管理钱包 98
3.5 EOS源代码结构 99
3.6 EOS编程开发工具 103
3.6.1 Visual Studio Code 103
3.6.2 CLion 104
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设置Action 108
4.2.6 .h、 .hpp和.cpp文件 108
4.3 WebAssembly 109
4.4 ABI 110
4.5通信模式 115
4.5.1 Action 116
4.5.2 Transaction 117
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 World 135
4.13.1你的第一个EOS DApp 135
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 Token 151
4.17.4发行Token 152
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 API 157
5.4.3 Wallet API 158
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章 创建和部署DApp 184
6.1什么是DApp(去中心化应用) 184
6.2 DApp基础架构 185
6.3 Demux DApp架构 186
6.4 MongoDB数据库插件 189
6.5智能合约的资源消耗 191
6.6应用实践5: TicTacToe 192
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 DApp 211
6.7.1创建table 212
6.7.2创建Action 213
6.7.3部署和命令行测试 214
6.7.4前端实现 215
6.8应用实践7: EOS Blog DApp 217
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 Token 242
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
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《近代旅游指南汇刊二编 16》王强主编 2017
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《甘肃省档案馆指南》甘肃省档案馆编 2018
- 《英汉翻译理论的多维阐释及应用剖析》常瑞娟著 2019
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《近代旅游指南汇刊 31》王强主编 2014
- 《虚拟流域环境理论技术研究与应用》冶运涛蒋云钟梁犁丽曹引等编著 2019
- 《近代旅游指南汇刊二编 10》王强主编 2017
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017