EOS区块链应用开发指南

EOS区块链应用开发指南

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

全面展示EOS区块链技术的众多概念和特性。

内容简介

全书共分为7章,分别是初识EOS、EOS的工作原理、开发工具和环境、编写智能合约、EOSRPC接口、创建和部署DApp、部署基于EOS的侧链等。本书希望能够帮助开发者进入EOS的世界并比较容易地上手开发DApp。

作者简介

编著者虞家男(Eric Yu),上海交通大学硕士,区块链技术专家,全栈开发者,麦子钱包CTO&联合创始人,EOSData.io技术社区联合创始人。

章节目录

版权信息

作者简介

前言

第1章 初识EOS

1.1 区块链操作系统

1.1.1 什么是EOS

1.1.2 EOS要解决什么问题

1.1.3 EOS的解决方案

1.1.4 EOS的生态发展需要哪些支持

1.2 EOS开发团队

1.3 EOS基础名词解释

1.3.1 区块链

1.3.2 比特币

1.3.3 以太坊

1.3.4 智能合约

1.3.5 DApp去中心化应用

1.3.6 共识机制

1.3.7 出块时间

1.3.8 IPFS

1.4 EOS系统的特点

1.4.1 设计理念

1.4.2 功能特性

1.4.3 经济模型

1.5 EOS技术意义

1.5.1 EOS与BTC

1.5.2 EOS与ETH

1.5.3 EOS与腾讯服务器集群

1.5.4 并行执行智能合约

1.5.5 数据中心级节点

1.5.6 跨链通信与更加轻量级的默克尔树证明

1.5.7 拓展性

1.5.8 拒绝服务攻击DDoS

1.6 开发进度规划

1.6.1 阶段1:最小可行的测试环境(2017年夏季)

1.6.2 阶段2:最小可行的测试网络(2017年秋季)

1.6.3 阶段3:测试&安全审计

1.6.4 阶段4:并行优化(2018年夏季/秋季)

1.6.5 阶段5:实现集群(未来)

1.7 EOS系统当前面临的挑战

1.7.1 开发者的成本

1.7.2 潜在的攻击EOS系统的方法

1.7.3 超级节点的服务器成本和稳定性

1.8 总结

第2章 EOS的工作原理

2.1 EOS系统架构

2.2 区块数据结构

2.2.1 区块头(block_header)

2.2.2 区块摘要(signed_block_summary)

2.2.3 区块

2.3 EOS的账户体系

2.3.1 什么是账户

2.3.2 什么是交易

2.3.3 什么是公钥

2.3.4 什么是密钥对

2.3.5 什么是权限

2.3.6 账户权限的更新

2.3.7 什么是钱包

2.3.8 账户和钱包的关系

2.3.9 EOS权限管理

2.3.10 丢失密码可恢复

2.4 EOS的共识机制

2.4.1 EOS共识机制的历史背景

2.4.2 什么是BFT-DPoS

2.4.3 交易的数据结构

2.4.4 每秒处理交易数(TPS)

2.4.5 交易确认

2.4.6 交易作为权益证明(TaPoS)

2.4.7 DPoS的不可逆确认算法

2.4.8 EOS共识机制的优势

2.4.9 EOS共识机制的问题

2.5 社区治理模式

2.5.1 超级节点

2.5.2 节点基础配置

2.5.3 节点收益

2.5.4 EOS主网启动过程

2.5.5 节点投票的设计

2.5.6 并行的EOS主网

2.6 EOS资源的经济模型

2.6.1 什么是EOS资源

2.6.2 EOS不是免费的吗?为什么还要消耗资源

2.6.3 EOS资源模型与ETH的不同

2.6.4 CPU和带宽的抵押模型

2.6.5 内存买卖模型

2.6.6 EOS收费模式可能存在的问题

2.7 总结

第3章 开发工具和环境

3.1 EOS客户端安装

3.1.1 硬件和系统要求

3.1.2 环境准备

3.1.3 安装EOS

3.1.4 验证安装结果

3.1.5 单节点测试

3.1.6 多节点测试

3.1.7 测试节点同步

3.1.8 主网节点同步测试

3.1.9 如何更新EOS版本

3.1.10 编译安装常见问题

3.2 nodeos命令行工具

3.3 cleos命令行工具

3.4 keosd钱包

3.4.1 如何运行keosd

3.4.2 命令参考

3.4.3 使用nodeos管理钱包

3.5 EOS源代码结构

3.6 EOS编程开发工具

3.6.1 Visual Studio Code

3.6.2 CLion

3.7 技术社区

3.8 总结

第4章 编写智能合约

4.1 什么是EOS智能合约

4.2 C/C++

4.2.1 预处理和头文件

4.2.2 构造函数

4.2.3 私有函数

4.2.4 公有函数

4.2.5 设置Action

4.2.6 .h、.hpp和.cpp文件

4.3 WebAssembly

4.4 ABI

4.5 通信模式

4.5.1 Action

4.5.2 Transaction

4.6 控制结构

4.7 数据类型

4.7.1 自定义类型

4.7.2 结构体

4.7.3 结构体的别名

4.8 EOS智能合约数据库

4.8.1 什么是EOS智能合约数据库

4.8.2 多重索引数据库API(Multi-Index API)

4.8.3 数据表

4.8.4 多索引

4.8.5 迭代器

4.8.6 使用multi-index表

4.9 eosio账户

4.10 eosiolib库

4.11 系统合约

4.11.1 eosio.bios智能合约

4.11.2 eosio.token智能合约

4.11.3 exchange智能合约

4.11.4 eosio.msig智能合约

4.12 李嘉图合约(Ricardian Contract)

4.13 应用实践1:Hello World

4.13.1 你的第一个EOS DApp

4.13.2 搭建智能合约测试环境

4.13.3 创建DApp工程

4.13.4 编译智能合约

4.13.5 部署智能合约到账户

4.13.6 调用智能合约

4.13.7 李嘉图合约

4.14 资源消耗限制

4.15 调试智能合约

4.16 智能合约安全性

4.16.1 溢出漏洞处理

4.16.2 智能合约更新升级

4.16.3 EOS核心仲裁法庭解决争议

4.17 应用实践2:eosio.token智能合约

4.17.1 创建账户

4.17.2 部署智能合约

4.17.3 创建EOS Token

4.17.4 发行Token

4.17.5 转账

4.18 总结

第5章 EOS RPC接口

5.1 配置插件

5.2 测试工具

5.3 主网RPC接口地址

5.4 主要接口功能说明

5.4.1 API参数

5.4.2 Chain API

5.4.3 Wallet API

5.5 获取智能合约数据

5.6 客户端签名

5.6.1 keosd签名

5.6.2 eosjs库签名

5.6.3 eosjs2库签名

5.6.4 mds-eosjs库签名

5.7 应用实践3:EOS钱包

5.7.1 钱包的各种类型

5.7.2 钱包的数据和界面

5.7.3 查询账户余额

5.7.4 转账

5.7.5 开源EOS钱包

5.8 应用实践4:区块链浏览器

5.8.1 基本信息

5.8.2 区块列表与区块详情

5.8.3 交易详情

5.8.4 查询账户交易记录

5.9 总结

第6章 创建和部署DApp

6.1 什么是DApp(去中心化应用)

6.2 DApp基础架构

6.3 Demux DApp架构

6.4 MongoDB数据库插件

6.5 智能合约的资源消耗

6.6 应用实践5:TicTacToe

6.6.1 游戏规则

6.6.2 合约开发

6.6.3 创建ABI文件

6.6.4 编译合约

6.6.5 部署合约

6.6.6 命令行测试游戏

6.6.7 创建Web前端应用程序

6.7 应用实践6:Todolist DApp

6.7.1 创建table

6.7.2 创建Action

6.7.3 部署和命令行测试

6.7.4 前端实现

6.8 应用实践7:EOS Blog DApp

6.8.1 合约开发

6.8.2 前端开发

6.9 其他著名EOS DApp案例

6.9.1 Everipedia——基于EOS的维基百科

6.9.2 Chintai——EOS通证租赁平台

6.9.3 EOSfinex——基于EOS的去中心化交易所

6.9.4 RiskExchange——基于EOS的风险交易所

6.10 总结

第7章 部署基于EOS的侧链

7.1 主链和侧链

7.1.1 主链

7.1.2 侧链

7.1.3 分层网络架构

7.2 侧链的意义

7.2.1 根据资源付费的无币区块链

7.2.2 降低开发资源费用

7.3 启动多节点测试侧链

7.4 启动支持投票的EOS侧链

7.4.1 手动执行启动过程

7.4.2 配置初始启动节点

7.4.3 IP地址准备和P2P连接

7.4.4 启动genesis节点

7.4.5 为eosio账户创建密钥

7.4.6 创建重要的系统账户

7.4.7 部署eosio.token智能合约

7.4.8 部署eosio.msig智能合约

7.4.9 创建SYS Token

7.4.10 部署eosio.system智能合约

7.4.11 切换到多节点

7.4.12 抵押Token和拓展网络

7.4.13 创建抵押账户

7.4.14 注册出块节点

7.4.15 eosio撤销权限

7.5 总结

本书总结

参考文献

EOS区块链应用开发指南是2019年由电子工业出版社出版,作者虞家男 编著。

得书感谢您对《EOS区块链应用开发指南》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
区块链:构建数字经济新世界 电子书
探索区块链技术,助力数字经济发展。
区块链与大数据:打造智能经济 电子书
运用区块链技术解决大数据发展中所面临的问题。
教育区块链:分布式学习时代的教育模式创新 电子书
本书对数字学习身份/数字学籍、数字学习记录、数字证书认证及数字教育资产管理等的原理解析,详细探讨区块链技术带来的教育范式改变,剖析教育区块链技术面临的机遇和挑战,提供教育行业实际应用的典型案例说明,展望教育区块链技术应用的未来。
区块链与产业创新:打造互联互通的产业新生态 电子书
区块链技术能够对数据和信用进行确权认定,推动数据资源时代的大门逐步开启。
区块链与物联网:构建智慧社会和数字化世界 电子书
物联网面临哪些发展瓶颈? 中心化导致成本居高不下 缺乏有活力的商业模式 安全问题仍然十分突出 传统信息色彩依然比较浓重 区块链如何改变物联网? 大幅度提升物联网的效率 创造即时、共享的全新商业模式 改善全球物联网平台语言不统一的问题 区块链与物联网结合能给物联网带来哪些变化? 削减多主体协作成本,进一步加强网络安全,让数据隐私得到保护,打破数据垄断与信息孤岛,优化供应链管理。 区块链与物联网结合的重要应用场景:智能生态农业 具体案例:IBM、Filament、阿里巴巴、玩客云、物付宝、涌泉金服等。