新書推薦:
《
乐道文库·什么是秦汉史
》
售價:NT$
367.0
《
汉娜·阿伦特与以赛亚·伯林 : 自由、政治与人性
》
售價:NT$
500.0
《
女性与疯狂(女性主义里程碑式著作,全球售出300万册)
》
售價:NT$
500.0
《
药食同源中药鉴别图典
》
售價:NT$
305.0
《
设计中的比例密码:建筑与室内设计
》
售價:NT$
398.0
《
冯友兰和青年谈心系列:看似平淡的坚持
》
售價:NT$
254.0
《
汉字理论与汉字阐释概要 《说解汉字一百五十讲》作者李守奎新作
》
售價:NT$
347.0
《
汗青堂丛书144·决战地中海
》
售價:NT$
765.0
|
編輯推薦: |
(1)引力区是EOS生态中全球颇具影响力的技术社区和超级节点,有超过20万社区成员。
(2)作者是引力区的联合创始人和核心团队成员,是国内区块链技术和EOS的布道者。
(3)本书不仅得到了EOS官方团队原产品副总裁等官方专家的推荐,而且还得了多位EOS生态中的意见领袖的高度评价。
(4)从EOS优势技术、源码实现、原生功能、智能合约、Dapp开发、侧链等6个维度详细讲解EOS的原理和开发实践。
|
內容簡介: |
内容简介
这是一部从源码层面剖析EOS原理和全方位讲解EOS开发实战的著作。
作者是EOS全球生态系统中具有影响力的EOS社区引力区的联合创始人和核心团队成员,是引力区在EOS主网上的研究和实践成果,得到了EOS官方原产品副总等多位EOS生态领袖的一致好评和强烈推荐。
全书一共7章,从EOS的优势技术、源码实现、原生功能使用、智能合约开发、基于EOS的Dapp开发和侧链开发等6个方面,详细的讲解了从系统原理到软件部署,再到开发的全部细节,适合初学者和具有一定开发基础的读者阅读。
*部分 原理篇(第1~3章)
首先,从EOS项目诞生的初衷、愿景、发展历程和版本更迭等角度宏观地介绍了EOS项目本身;然后,从EOS的共识机制、账户体系、网络资源Token化、节点治理、脚本与虚拟机等角度展现了EOS的技术优势;*后,从源码角度分析了EOS项目的整体架构、共识算法代码实现、网络层代码实现、区块打包与广播代码的实现和关键工具的代码实现。内容简介
这是一部从源码层面剖析EOS原理和全方位讲解EOS开发实战的著作。
作者是EOS全球生态系统中具有影响力的EOS社区引力区的联合创始人和核心团队成员,是引力区在EOS主网上的研究和实践成果,得到了EOS官方原产品副总等多位EOS生态领袖的一致好评和强烈推荐。
全书一共7章,从EOS的优势技术、源码实现、原生功能使用、智能合约开发、基于EOS的Dapp开发和侧链开发等6个方面,详细的讲解了从系统原理到软件部署,再到开发的全部细节,适合初学者和具有一定开发基础的读者阅读。
*部分 原理篇(第1~3章)
首先,从EOS项目诞生的初衷、愿景、发展历程和版本更迭等角度宏观地介绍了EOS项目本身;然后,从EOS的共识机制、账户体系、网络资源Token化、节点治理、脚本与虚拟机等角度展现了EOS的技术优势;*后,从源码角度分析了EOS项目的整体架构、共识算法代码实现、网络层代码实现、区块打包与广播代码的实现和关键工具的代码实现。
第二部分 实战篇(第4~7章)
这部分主要从实战开发的角度详细讲解了EOS网络的启动、原生功能的使用、智能合约的开发、DApp的开发、基于EOS的侧链和竞争链的开发等内容。不仅详细讲解了各项开发所涉及的技术点、开发方法、开发技巧,而且还包含大量的实战案例。
附录部分展望了EOS主网优化的方向,涉及百万TPS目标如何实现和跨链交互等方面的内容。
|
關於作者: |
作者介绍
李万才
复旦大学博士,国际上有影响力的区块链技术专家,EOS基金会董事,EOS引力区联合创始人和理事,国家技术转移东部中心区块链产业中心特聘专家,全球石墨烯区块链应用中心理事。
复旦大学计算机科学技术学院外聘教师。长期在科研院所从事技术研发工作,是数据加密、网络安全及物联网技术专家。主持和参与过、省部级科研项目多达数十项,发表EI、SCI论文十多篇,获得十多项专利。
|
目錄:
|
推荐序
前言
第一部分 原理篇
第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
|
內容試閱:
|
为什么要写这本书
2014年的夏天,我大部分时间都待在热气腾腾的深圳,身边的矿机嗡嗡作响,环境温度在40度以上,可那时我们这些创业者们却好似身在冰窟,心里无比凄凉。那时的我们没见过多少世面,也没经历过太多波折,比特币、莱特币、狗狗币是我们仅有的对区块链这座冰山的小小一角的窥视。但也正是在那个绝望的时刻,我接触到了Bitshares,这也是Daniel Larimer的第一个项目,当然觉得特震撼。在那个时代,出现这个级别的产品,简直就如同比特币最初的横空出世,让人敬畏。
天才总是充满着野心和想象力,之后的STEEM,现在的EOS,都是Daniel Larimer(以下简称BM)不断为区块链,乃至整个商业世界带来的超级创新项目。特别是EOS,它勾勒出了区块链+云计算+大规模商业应用的未来图谱,让所有对区块链心生好感的人都充满了期望:这种技术如果普及了,能从多大程度上改变世界,改变我们自身呢?
为什么我们如此热爱EOS,并选择EOS作为一个智能合约平台的载体呢?我先给出自己的理由:
(1)我喜欢与众不同的人和不随波逐流的人,尤其是还能做出令人觉得瞠目结舌的产品的人。我是BTS和STEEM的深度用户,我觉得它们优雅、精致、超前于时代;我觉得它们的架构和技术能够实实在在地让我感到既酷又适于每日品玩。我看过BM的很多文章,那种既带着些许忧郁感又拥有自己的哲学高度,还能深入到技术细节的文字,让我感触良多。也许,在潜意识中,我也想成为BM那样的人吧。
(2)EOS是一个从实践中、从小而美的应用中、从历经时间磨砺的系统中抽象出来的某种设计理念的实体化,不同于各种无中生有、野心勃勃的大概念和大设想,它更为亲切和熟悉,像是一个被顺水推舟解出的方程式,像是一部美剧中可独立成章的主线剧情,它自然而然地发生,无比贴合你一直以来的期待。
(3)看好EOS,是一个迭代更新的过程。随着不断地为EOS贡献微小的价值,我能感受到价值的积聚,以及这种价值的吸引力。而随之而来的成就感又激励我进一步做出能力所及的更多贡献,在这个过程中,我和EOS在某种层面上已经融为一体。我经常笑谈,自己是EOS的看门狗,便是此意。
(4)EOS具有无限性。虽然EOS会受到现有硬件和软件架构的限制,但是EOS的出现对于创新的激发是无限的。因为它让很多人意识到这个巨大生态的价值,以及各种商业逻辑迁移的可能性。就我所知,很多针对EOS的创新已经在酝酿之中了。我相信,EOS主网上线之日起的一个月内,会有数以百级的应用展现在我们面前。
面对自己钟爱之物时,我们总想为它赋予更深刻、更高尚的意义,也许我也不自觉地美化了它,但是,我不会觉得惭愧,因为我忠于这种内心的选择,而且不会因此伤害到其他人。
当然,EOS目前还处在发展初期,还没有那么成熟和完善,我经常会被问到的一个问题:我想学习EOS的开发,怎么入门?确实,我们特别需要一个有体系的、专业的能带着程序员、爱好者们真正走入EOS这个新的技术平台大门的教材,这也是这套书的最终目的。我们在引力区集合了自己的技术团队和社区的开发者们,通过社区大家长期深入沟通交流,找到了帮助初学者实现入门到精通的学习方法,总结出了我们真正需要的那些知识和需要跨过的那些门槛,然后以体系化的方式整理成册。我们的目标很明确,帮助EOS社区培养更多的开发者,也帮助开发者们进入一个超级公链生态。我觉得,公链和人之间是通过这种引力的方式互相链接起来的,这才是区块链的本质。
读者对象
这里根据软件需求划分出一些能使用本书的用户团体:
区块链技术初学者
EOS技术爱好者
基于EOS的DApp开发者
EOS生态建设者
开设相关课程的大专院校师生
本书特色
本书基于EOS引力区的技术团队在EOS主网上累积的实战技术开发经验撰写而成,书中介绍了EOS项目的技术全貌,内容深入浅出,旨在帮助读者快速理解EOS技术亮点以及实现过程。从实际软件开发案例、EOS原生功能使用、智能合约开发,以及基于EOS的DApp开发和侧链开发等几个方面,详细介绍了从软件部署到具体开发的全部细节,适合初学者和具有一定开发基础的读者阅读。
如何阅读本书
本书分为两大部分:
第一部分为原理篇,本篇从三方面着手,即括基础介绍、技术优势分析和代码原理分析三部分,由浅入深地介绍了EOS系统的原理。
第二部分为实战篇,通过项目实例详细讲解EOS主网原生功能使用、智能合约开发、基于EOS的DApp开发和基于EOS的侧链竞争链开发。
其中第二部分通过具体的开发项目,手把手地带初学者快速掌握基于EOS的项目开发并掌握DApp开发逻辑,建议有一定开发能力的用户直接阅读这部分。对于初学者,则建议从头阅读,在掌握了EOS基本技术原理的基础再学习第二部分。
除上述两大部分,本书最后还包含一个附录。附录部分介绍了几个EOS主网的系统优化方向。
勘误和支持
除封面署名外,参与及支持本书编写工作的还有blockone刘函、eoscannon施瑞琦、eoshuobipool闻华强、eosnewyork Kevin、eoscanada Richard、liquideos Galian、EOS开发者社区陈澄、eoslaomao赵余、eosasia郭达峰、eosbixin吴广庚、eosbeijing李想、eosmeetone高锋、eosflytomars龙志峰、starteo
|
|