深入理解以太坊pdf下载pdf下载

深入理解以太坊百度网盘pdf下载

作者:
简介:本篇主要提供深入理解以太坊pdf下载
出版社:机械工业出版社自营官方旗舰店
出版时间:2019-06
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

编辑推荐

适读人群 :所有区块链开发者,尤其是和稍有一定基础的区块链开发者。
(1)作者是中国以太坊企业联盟的联合发起人和核心成员,是中国区块链和以太坊技术的早期布道者。
(2)三位作者在中兴、华为等大企业工作多年,有丰富的系统架构和软件开发经验,技术功底深厚。
(3)从设计理念、技术架构、共识算法、智能合约、DApp开发、以太坊虚拟机等近10个维度系统、深入讲解以太坊。

内容简介

内容简介
这是一本从原理和实践两个层面系统、深入讲解以太坊技术的专著,从设计理念、技术架构、共识算法、智能合约、以太坊虚拟机、开发工具、DApp开发、企业以太坊解决方案、跨链技术等近10个方面进行了详细讲解,既适合初学者系统学习以太坊的原理和应用开发,又适合有一定基础的开发者深入掌握以太坊的底层运行机制。
全书一共11章:
第1~3章对以太坊的系统架构、设计理念和技术架构进行了系统介绍,包括以太坊项目的起源和发展路线图、核心技术、共识问题、图灵完备性、整体设计思路和各模块的核心功能实现等核心内容。
第4章深入剖析了PoW、PoA、PoS等共识算法的适用场景、设计思想、技术实现和优缺点。
第5~7章围绕智能合约展开,系统讲解了智能合约语言Solidity、智能合约应用开发、智能合约运行原理和实现细节,以及以太坊虚拟机的运行原理和智能合约字节码的解析等内容。
第8章介绍了以太坊周边的工具,教读者如何在不开发代码的情况下完成与以太坊网络的交互。
第9章介绍了以太坊技术的企业级应用以及企业以太坊联盟的标准化进展。
第10章对跨链技术和方案进行了方向性探讨,虽然目前跨链技术还不成熟,但被视为后以太坊时代的区块链技术热点。
第11章分析了以太坊现阶段面临的发展瓶颈,并对可能的解决方案进行了展望。

作者简介

作者介绍
王欣
前浙江华信区块链技术总监,中国企业以太坊联合发起人,对以太坊有非常深入的研究。
曾就职于爱立信和中兴通讯,有10余年软件架构和国际项目咨询经验。目前专注于区块链底层协议、智能合约安全以及隐私保护的研究。
史钦锋
前浙江华信区块链研究员,负责以太坊智能合约相关技术的研究和开发,对以太坊底层技术原理、智能合约、跨链技术以及EOS等有非常深入的认识。
曾就职于中兴通讯、华为和北京赛思信安等公司,精通C、Python和Go等多门语言,有多年通信产品底层驱动、通信网络协议和后端核心业务开发经验。
程杰
资深区块链技术专家和架构师,对以太坊、EOS等开源区块链协议和各种共识算法有深入研究,负责DApp的整体软件方案设计。
曾就职于世界500强企业,有超过13年的软件行业和通信行业的研发经验,熟悉大型分布式、微服务软件架构、软件设计模式相关技术,对基于云计算、区块链、微服务和DevOps的软件架构栈有丰富的实践经验,对可落地的高并发、高可用的软件系统有自己的见解。

目录

前言
第1章 以太坊概述 1
11 区块链起源 1
12 以太坊发展之路 3
13 以太坊核心技术 6
131 智能合约 6
132 PoS 7
14 以太坊系统架构 8
15 以太坊社区 9
16 以太坊路线图 10
17 本章小结 11
第2章 设计理念 12
21 密码学 13
211 Hash 13
212 椭圆曲线的加解密 18
213 签名 20
214 Merkle树和验证 24
215 MPT状态树 24
22 共识问题 28
221 分布式一致性问题 28
222 Paxos 和Rfat 30
223 拜占庭容错及PBFT 31
224 以太坊IBFT共识 33
225 PoW 35
226 Casper 36
227 以太坊性能 38
23 图灵完备 40
231 比特币脚本 41
232 EVM虚拟机 44
233 Gas机制 46
24 本章小结 49
第3章 技术架构 50
31 分层设计 51
311 应用层 51
312 合约层 54
313 激励层 55
314 共识层 56
315 网络层 59
316 数据层 60
32 数据结构设计 62
321 交易 62
322 状态树 65
323 区块 67
324 区块链 71
325 数据库 72
33 P2P网络 76
331 节点发现 76
332 节点管理 78
34 客户端 84
341 RPC 85
342 web3 88
35 本章小结 89
第4章 共识算法 90
41 PoW 90
411 算法概述 90
412 设计实现 93
413 优缺点分析 96
42 PoA 97
421 算法概述 97
422 设计实现 99
423 优缺点分析 102
43 PoS 103
431 算法概述 103
432 优缺点分析 111
44 本章小结 112
第5章 智能合约开发 113
51 智能合约的诞生 113
52 以太坊上的智能合约 114
521 以太坊智能合约概述 114
522 关于智能合约的理解误区 114
523 合约账户 115
524 智能合约举例 116
525 智能合约在以太坊上的运行流程 118
53 智能合约编程语言 119
54 智能合约应用开发 120
541 连接和访问以太坊 120
542 以太坊集成开发环境remix 120
543 truffle 126
544 智能合约编译器solc 129
55 solidity语法详解 130
551 智能合约源文件 130
552 solidity数据类型 132
553 智能合约的内建全局变量和函数 141
554 智能合约中的单位 143
555 solidity表达式和控制结构 144
556 函数 148
557 常量状态变量 152
558 智能合约的事件 153
559 智能合约的继承性 153
5510 智能合约的创建 154
5511 智能合约的销毁 154
56 solidity编程规范 155
561 代码布局 155
562 编码约定 157
563 命名约定 159
57 本章小结 159
第6章 智能合约运行机制 160
61 调用智能合约函数 160
611 外部调用 161
612 内部调用 162
62 以太坊ABI协议 163
621 ABI接口定义 164
622 函数选择器 165
623 参数编码 165
624 abi编码举例 166
63 交易的费用和计算 167
631 什么是Gas机制 167
632 为什么需要Gas机制 168
633 交易费用计算法方法 169
634 交易费用的组成 170
64 智能合约的事件 170
641 事件的存储和解析 170
642 Logs的底层接口 173
643 事件的查询 174
644 事件查询过程 174
65 库和链接原理 175
651 库的定义 175
652 库的使用 175
653 库的连接 176
654 库中的事件 176
66 智能合约元数据 177
67 智能合约安全性分析 179
671 智能合约中的陷阱 179
672 建议 182
673 案例分析:资金回退流程 183
68 智能合约和外界的通信 184
681 oracle介绍 184
682 oracle需要解决的问题 185
683 数据商店 185
69 智能合约的动态升级 185
691 solidity是一个受限的语言 185
692 动态升级的实现 186
610 智能合约的数据存储 187
6101 存储 187
6102 内存 187
6103 栈 188
611 本章小结 188
第7章 智能合约字节码与汇编 189
71 智能合约汇编指令集 189
72 智能合约字节码解析 192
73 状态变量的存储 196
731 普通状态变量的存储 196
732 动态数据的storage存储 198
733 总结 201
74 solidity内嵌汇编 201
741 内嵌汇编指令 201
742 单独使用汇编指令 203
75 本章小结 204
第8章 开发者工具 205
81 MetaMask 205
811 MetaMask安装 205
812 MetaMask作为Web钱包 206
813 MetaMask作为DApp客户端 207
82 以太坊测试网络 209
821 Morden 209
822 Ropsten 210
823 Kovan 210
824 Rinkeby 211
825 本地以太坊私链 212
826 连接测试网络 213
83 Remix 213
831 本地安装Remix 213
832 在线Remix 214
84 truffle 217
841 安装truffle 218
842 构建应用项目 218
843 demo合约实践 220
844 智能合约测试和验证 222
85 myetherwall

前言/序言

2017年年初,IBM宣布在德国慕尼黑设立物联网事业部,旨在围绕区块链、安全,通过Watson物联网技术,从嵌在机器、汽车、无人驾驶飞机、滚珠轴承、设备部件甚至医院中的数十亿传感器中获取实时数据,构建全新的物联网。
身处物联网行业的我,隐约感觉到区块链将会成为新的研究方向,为传统行业带来新的助力。随后,我查阅了大量相关资料,想尽可能多地了解区块链。一个偶然的机会,我结识了南京一家区块链初创公司的技术负责人,并受邀加入他们的团队,开始全身心投入区块链行业中。
我的初始工作围绕以太坊开源项目展开,范围包括白皮书、黄皮书、源码、工具、共识算法、智能合约、雷电网络、零知识证明等。短短几个月的时间,我学习到的新知识比过去几年加起来还要多。没过几个月,本书的另外两位作者史钦锋和程杰也加入团队,并一起成立了以太坊技术研究小组。在大家的共同努力下,我们从理论到实践,完整地总结出一套借助以太坊技术实现区块链应用落地的技术方案。
一路走来,我们深深感受到区块链理论涉及的概念之多,技术涉及的门类之广。这对于一个初学者来说实属不易。另外,一些不法分子利用区块链技术创新之名,行招摇撞骗、掳掠钱财之实。作为相关从业人员,我们有能力,也有必要尽自己的微薄之力,将自己所学和心得体会用文字记录下来,让广大的读者客观理性地认识这个新事物。如若读者能就其中一两点产生共鸣,激发创新、创造的热情,那实在是意外的收获。
本书仅仅针对以太坊开源项目。回想笔者的工作经历,虽然也接触过其他项目,但总体比较来看,以太坊是最适合初学者入门的技术栈。因为以太坊技术社区在全球范围最完善,参考资料多;以太坊核心团队最具备极客精神,开发速度快;以太坊主网上线运行时间长,经历了最严苛的安全性检验;以太坊的目标最远大,它要成为世界的计算机。
本书共分11章。书中不仅归纳总结了以太坊项目的整体现状,也对未来的发展和技术走向进行了总体预测和分析。
第1章 从比特币说起,谈以太坊项目的起源,对项目整体情况做了概述。
第2章 从理论入手,介绍了以太坊知识体系的诸多概念,比如密码学、共识和图灵完备特性。
第3章 从架构入手,介绍了以太坊设计的整体思路、模块划分以及核心功能实现。
第4章 讨论共识,共识是区块链最核心的问题,共识的设计也是区块链的难点所在。从PoW到PoA,再到PoS,我们比较了各种共识算法的优缺点,也分析了不同算法的适用场景。
第5~7章 围绕智能合约展开讨论。智能合约是以太坊的最大创新点,它将区块链变成了可以服务任何行业、任何场景的可编程平台。从开发步骤、技术原理到底层实现,覆盖了智能合约软件支持的方方面面。对于偏向区块链技术应用的开发者,我们建议将学习重点放在第5章;对于偏向底层的区块链协议开发者,相信第6、7章会带给你不少收获。
第8章 指导读者熟练掌握以太坊周边的工具,在不开发代码的情况下,完成与以太坊网络的交互。
第9章 介绍了以太坊技术的企业级应用以及企业以太坊联盟的标准化进展。
第10章 对跨链方案进行了探讨。由于目前跨链技术还不成熟,本章仅对大体的技术方向做了介绍。跨链也被视为后以太坊时代的区块链技术热点,将引领区块链30时代的到来。
第11章 分析了以太坊现阶段面临的发展瓶颈,并对可能的解决方案进行了展望。
本书内容包罗万象,有项目概述、架构设计、实现细节和开发方法,适合对区块链理论和实现感兴趣的读者阅读,也适合作为技术手册,供读者遇到具体问题时查阅参考。由于区块链技术发展迅速,水平有限,书中难免存在错误或不当之处,希望得到广大读者的批评指正。后续,我们将通过线上专栏(https://zhuanlanzhihucom/c_210509549)的方式,保持和读者的沟通,并针对大家感兴趣的话题进行讨论。
感谢带领我进入区块链行业的技术大咖Denny,感谢曾经一起工作的同事,也感谢为本书出版费尽心血的华章出版社的各位老师。在本书的编写过程中,占用了很多陪伴家人的时间,但得到了家人充分的鼓励与支持,深深地感谢他们。

王欣