新書推薦:
《
形似神异:什么是中日传统政治文化的结构性差异
》
售價:HK$
55.8
《
养育不好惹的小孩
》
售價:HK$
79.4
《
加加美高浩的手部绘画技法 II
》
售價:HK$
91.8
《
卡特里娜(“同一颗星球”丛书)
》
售價:HK$
89.7
《
伟大民族:从路易十五到拿破仑的法国史(方尖碑)
》
售價:HK$
193.2
《
古今“书画同源”论辨——中国书法与中国绘画的关系问题兼中国画笔墨研究
》
售價:HK$
135.7
《
《日本文学史序说》讲演录
》
售價:HK$
74.8
《
无尽的海洋:美国海事探险与大众文化(1815—1860)
》
售價:HK$
102.4
|
編輯推薦: |
1.业内专家汪波、何琼、孤失、翟东明联袂力荐 2.本书将向读者展示EOS区块链技术的众多概念和特性,包括初识EOS、EOS的工作原理、开发工具和环境、编写智能合约、EOS RPC接口、创建和部署DApp、部署基于EOS的侧链等内容。 3.本书结合实战经验,从基础的概念和原理,到一线的执行与案例,对EOS技术进行了系统且深入的阐述。
|
內容簡介: |
EOS被称为区块链3.0,是下一代区块链技术,本书将向读者展示EOS区块链技术的众多概念和特性。全书共分为7章,分别是初识EOS、EOS的工作原理、开发工具和环境、编写智能合约、EOS RPC接口、创建和部署DApp、部署基于EOS的侧链等。本书希望能够帮助开发者进入EOS的世界并比较容易地上手开发DApp。
|
關於作者: |
虞家男(EricYu),上海交通大学硕士,麦子钱包众托帮CTO,区块链技术专家,全栈开发者,连续创业者。上海交通大学硕士,麦子钱包众托帮CTO,区块链技术专家,全栈开发者,连续创业者。
|
目錄:
|
目录
第1章初识EOS1
1.1区块链操作系统1
1.1.1什么是EOS1
1.1.2EOS要解决什么问题1
1.1.3EOS的解决方案2
1.1.4EOS的生态发展需要哪些支持4
1.2EOS开发团队8
1.3EOS基础名词解释11
1.3.1区块链11
1.3.2比特币11
1.3.3以太坊12
1.3.4智能合约14
1.3.5DApp去中心化应用15
1.3.6共识机制16
1.3.7出块时间16
1.3.8IPFS16
1.4EOS系统的特点18
1.4.1设计理念18
1.4.2功能特性20
1.4.3经济模型21
1.5EOS技术意义22
1.5.1EOS与BTC22
1.5.2EOS与ETH22
1.5.3EOS与腾讯服务器集群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.7EOS系统当前面临的挑战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.3EOS的账户体系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.9EOS权限管理46
2.3.10丢失密码可恢复53
2.4EOS的共识机制54
2.4.1EOS共识机制的历史背景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.7DPoS的不可逆确认算法58
2.4.8EOS共识机制的优势59
2.4.9EOS共识机制的问题61
2.5社区治理模式62
2.5.1超级节点62
2.5.2节点基础配置62
2.5.3节点收益63
2.5.4EOS主网启动过程64
2.5.5节点投票的设计65
2.5.6并行的EOS主网68
2.6EOS资源的经济模型68
2.6.1什么是EOS资源68
2.6.2EOS不是免费的吗?为什么还要消耗资源70
2.6.3EOS资源模型与ETH的不同70
2.6.4CPU和带宽的抵押模型71
2.6.5内存买卖模型72
2.6.6EOS收费模式可能存在的问题73
2.7总结74
第3章开发工具和环境75
3.1EOS客户端安装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.2nodeos命令行工具89
3.3cleos命令行工具91
3.4keosd钱包95
3.4.1如何运行keosd95
3.4.2命令参考96
3.4.3使用nodeos管理钱包98
3.5EOS源代码结构99
3.6EOS编程开发工具103
3.6.1Visual Studio Code103
3.6.2CLion104
3.7技术社区105
3.8总结105
第4章编写智能合约106
4.1什么是EOS智能合约106
4.2CC106
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.3WebAssembly109
4.4ABI110
4.5通信模式115
4.5.1Action116
4.5.2Transaction117
4.6控制结构117
4.7数据类型117
4.7.1自定义类型117
4.7.2结构体119
4.7.3结构体的别名121
4.8EOS智能合约数据库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.9eosio账户129
4.10eosiolib库129
4.11系统合约131
4.11.1eosio.bios智能合约131
4.11.2eosio.token智能合约133
4.11.3exchange智能合约133
4.11.4eosio.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.3EOS核心仲裁法庭解决争议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.1API参数157
5.4.2Chain API157
5.4.3Wallet API158
5.5获取智能合约数据158
5.6客户端签名160
5.6.1keosd签名160
5.6.2eosjs库签名162
5.6.3eosjs2库签名164
5.6.4mds-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.2DApp基础架构185
6.3Demux DApp架构186
6.4MongoDB数据库插件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.1Everipedia基于EOS的维基百科222
6.9.2ChintaiEOS通证租赁平台224
6.9.3EOSfinex基于EOS的去中心化交易所226
6.9.4RiskExchange基于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.3IP地址准备和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.15eosio撤销权限249
7.5总结250
本书总结251
参考文献252
|
內容試閱:
|
前言
科技界的发展规律遵循天下大势,分久必合,合久必分,区块链世界的发展也许正得益于分这个大势。 从中心化的传统信息系统世界逐渐过渡到去中心化的区块链新世界,我们正有幸经历着一场从合到分的生产关系伟大变革。在这个过程中,区块链也在现有如 PoW、PoS 这些完全去中心化的共识方式的基础上,开始了一些从分到合的有益探索,就像 EOS 的 DPoS BFT 这种去中心化与中心化相结合的共识模式一样。
|
|