区块链技术丛书深入以太坊智能合约开发

本书特色

[

这是一部能指导读者从入门到进阶的以太坊智能合约开发指南。HiBlock区块链技术社区官方出品,4位区块链技术专家联合撰写。
从开发工具与生态、编程语言(Solidity)、编写方法、实践、以太坊虚拟机、合约安全、软件工程等维度全景呈现以太坊智能合约开发的各个方面。更重要的是,以实战为导向,包含若干个翔实、完整的DApp案例讲解。
全书共12章,分为4个部分:
准备篇(第1~2章) 介绍了以太坊的**常识、基础交互和开发工具套件。
基础篇(第3~6章) 详细讲解了智能合约开发语言 Solidity 的所有语法和编写合约的基本方法,同时也介绍了编译器和 Solidity 集成开发工具的使用。
进阶篇(第7~10章) 首先详细讲解了以太坊协议的细节和以太坊虚拟机的实现原理和架构设计;然后讲解了用于以太坊虚拟机函数调用的应用二进制编码的细节,以及公共基础合约库 openzeppelin-solidity 的源码实现;*后为智能合约的安全开发提供了经验性的指导,有极高的参考价值。这是一部能指导读者从入门到进阶的以太坊智能合约开发指南。HiBlock区块链技术社区官方出品,4位区块链技术专家联合撰写。
从开发工具与生态、编程语言(Solidity)、编写方法、实践、以太坊虚拟机、合约安全、软件工程等维度全景呈现以太坊智能合约开发的各个方面。更重要的是,以实战为导向,包含若干个翔实、完整的DApp案例讲解。
全书共12章,分为4个部分:
准备篇(第1~2章) 介绍了以太坊的**常识、基础交互和开发工具套件。
基础篇(第3~6章) 详细讲解了智能合约开发语言 Solidity 的所有语法和编写合约的基本方法,同时也介绍了编译器和 Solidity 集成开发工具的使用。
进阶篇(第7~10章) 首先详细讲解了以太坊协议的细节和以太坊虚拟机的实现原理和架构设计;然后讲解了用于以太坊虚拟机函数调用的应用二进制编码的细节,以及公共基础合约库 openzeppelin-solidity 的源码实现;*后为智能合约的安全开发提供了经验性的指导,有极高的参考价值。
实战篇(第11~12章) 结合若干 DApp 实例讲解了如何基于智能合约来构造可用的去中性化应用程序。这部分内容可以帮助开发者快速上手构建基于以太坊的新一代互联网应用程序。
本书的附录中还包含了对以太坊协议中涉及的部分基础算法、以太坊虚拟机的费用设计和指令设计、 Solidity 内联汇编等的简单介绍。

]

内容简介

[

这是一部能指导读者从入门到进阶的以太坊智能合约开发指南。HiBlock区块链技术社区官方出品,4位区块链技术专家联合撰写。从开发工具与生态、编程语言(Solidity)、编写方法、实践、以太坊虚拟机、合约安全、软件工程等维度全景呈现以太坊智能合约开发的各个方面。更重要的是,以实战为导向,包含若干个翔实、完整的DApp案例讲解。全书共12章,分为4个部分:准备篇(~2章) 介绍了以太坊的推荐常识、基础交互和开发工具套件。基础篇(第3~6章) 详细讲解了智能合约开发语言 Solidity 的所有语法和编写合约的基本方法,同时也介绍了编译器和 Solidity 集成开发工具的使用。进阶篇(第7~10章) 首先详细讲解了以太坊协议的细节和以太坊虚拟机的实现原理和架构设计;然后讲解了用于以太坊虚拟机函数调用的应用二进制编码的细节,以及公共基础合约库 openzeppelin-solidity 的源码实现;*后为智能合约的安全开发提供了经验性的指导,有极高的参考价值。实战篇(1~12章) 结合若干 DApp 实例讲解了如何基于智能合约来构造可用的去中性化应用程序。这部分内容可以帮助开发者快速上手构建基于以太坊的新一代互联网应用程序。本书的附录中还包含了对以太坊协议中涉及的部分基础算法、以太坊虚拟机的费用设计和指令设计、 Solidity 内联汇编等的简单介绍。

]

作者简介

[

杨镇
国内区块链与智能合约领域的知名技术专家,有15年的一线软件研发和工程项目经验。对以太坊相关技术有非常深入的研究,活跃于各个中文区块链技术社区,致力于区块链、智能合约技术的推广以及企业级区块链应用落地的探索。
软件工程师、架构师,区块链和智能合约技术布道师、独立讲师。
2018 年初对以太坊黄皮书的中译版做了独立校订和增补更新,并作为管理员和主要校订人参与了 Solidity 文档的中译项目。2018 年 8 月独立开发了国内为数不多的以太坊智能合约高级开发课程(在线视频课程)。2018 年底作为译者参加了《精通以太坊》(Mastering Ethereum)中文版(即将出版)的制作工作。截止到 2018 年底,已进行了数十次线上、线下的区块链或智能合约技术分享交流,是区块链和智能合约领域颇受欢迎的技术布道师。

姜信宝杨镇
国内区块链与智能合约领域的知名技术专家,有15年的一线软件研发和工程项目经验。对以太坊相关技术有非常深入的研究,活跃于各个中文区块链技术社区,致力于区块链、智能合约技术的推广以及企业级区块链应用落地的探索。
软件工程师、架构师,区块链和智能合约技术布道师、独立讲师。
2018 年初对以太坊黄皮书的中译版做了独立校订和增补更新,并作为管理员和主要校订人参与了 Solidity 文档的中译项目。2018 年 8 月独立开发了国内为数不多的以太坊智能合约高级开发课程(在线视频课程)。2018 年底作为译者参加了《精通以太坊》(Mastering Ethereum)中文版(即将出版)的制作工作。截止到 2018 年底,已进行了数十次线上、线下的区块链或智能合约技术分享交流,是区块链和智能合约领域颇受欢迎的技术布道师。

姜信宝
HiBlock区块链社区(HiBlock.One)创始人,专注于区块链技术的研究、培训和推广。HiBlock区块链社区成立于2018年,曾组织Solidity(0.4.22)中文版翻译项目,线下区块链技术沙龙活动60余次,黑客马拉松3次。
Scrum联盟认证讲师(Certified Scrum Trainer),敏捷变革中心合伙人,从事敏捷Scrum推广与宣传等工作十余年,曾担任京东敏捷顾问。

朱智胜
软件工程师、架构师,有近10年的一线软件开发与架构经验,长期从事第三方支付及金融相关领域的研发工作。
曾参与火币钱包及交易所开发,后参与多家交易所和DAPP项目的开发,对以太坊技术有深入的研究。
热衷于技术分享,是CSDN知名博客专家和讲师。独立完成两套Drools规则引擎视频教程和规则引擎官方技术文档的翻译。

盖方宇
区块链技术专家,一直积极钻研区块链底层技术,对比特币、以太坊等主流公链以及底层的共识算法具有比较深刻的理解。同时热衷于DApp开发,精通Solidity语言,是Solidity官方文档中译项目的主要贡献者之一。目前主要关注区块链二层扩容技术,对状态通道(State Channel)、侧链(Sidechain)颇有研究,是“深入理解Plasma”系列的原创作者。
研究方向包括分布式系统、计算机网络、信息安全以及区块链系统,多次在国际学术会议和期刊上发表论文。

]

目录

推荐序赞誉前言**部分 准备篇第1章 快速了解以太坊21.1 以太坊是什么21.2 以太坊的历史和发展路线图51.3 以太坊的基本概念81.3.1 账户(accounts)81.3.2 合约(contracts)91.3.3 交易(transaction)和消息(message)91.3.4 气(gas)101.4 以太币(ether)121.4.1 以太币的发行121.4.2 以太币的单位131.4.3 以太坊挖矿131.5 以太坊测试网络131.6 以太坊客户端141.7 以太坊生态系统全景扫描151.7.1 Swarm151.7.2 ENS151.7.3 Whisper161.7.4 其他相关项目161.8 本章小结17第2章 以太坊基础交互及基础开发工具详解182.1 以太坊客户端的下载、安装及简介182.1.1 Geth下载182.1.2 Geth安装192.1.3 Geth启动与数据目录结构202.1.4 网络环境分类202.2 核心命令和参数解析212.2.1 如何获得命令及参数212.2.2 常见基础操作命令222.2.3 常见web3j交互命令232.3 Remix详解262.3.1 Remix简介262.3.2 Remix实战272.4 本章小结32第二部分 基础篇第3章 智能合约开发语言Solidity基础343.1 智能合约与Solidity简介343.2 Solidity基础语法353.2.1 版本杂注353.2.2 import的用法353.2.3 代码注释363.2.4 数据类型363.2.5 全局变量523.2.6 表达式和控制结构553.3 Solidity语言速查表633.4 Solidity源代码书写风格683.5 本章小结82第4章 Solidity编译器834.1 安装Solidity编译器834.1.1 直接获取可执行程序包834.1.2 从源代码编译构建844.1.3 Solidity编译器版本号详解864.2 使用Solidity编译器874.2.1 命令行编译器874.2.2 编译器输入、输出的JSON描述884.3 合约元数据934.4 本章小结96第5章 Solidity智能合约编写975.1 创建智能合约975.2 可见性控制995.3 getter函数1005.4 函数修饰器1025.5 状态常量1045.6 函数1045.6.1 view函数1055.6.2 pure函数1055.6.3 fallback函数1065.6.4 函数重载1075.7 事件1085.8 继承1105.8.1 基类构造函数1105.8.2 多重继承1115.8.3 线性化1145.9 抽象智能合约1145.10 接口1155.11 库1165.12 using for的用法1195.13 本章小结121第6章 Solidity集成开发工具简介1226.1 Truffle1226.1.1 Truffle简介1226.1.2 快速体验1236.1.3 用Truffle的开发过程1246.1.4 Truffle高级用法1346.2 Embark1366.2.1 Embark安装1376.2.2 Embark快速开始1386.2.3 Embark常规用法1396.2.4 智能合约的配置与调用1436.2.5 Embark去中心化存储1456.2.6 Embark去中心化通信1486.3 其他工具(Remix)1496.3.1 Solidity编辑与编译1496.3.2 Solidity合约部署1506.4 本章小结151第三部分 进阶篇第7章 深入理解以太坊虚拟机1547.1 区块链范式1547.2 状态、交易、收据和区块1557.2.1 状态1557.2.2 交易1567.2.3 收据1577.2.4 区块1587.2.5 以太坊基础数据结构汇总1607.2.6 理解gas1617.3 交易执行1627.4 执行模型—以太坊虚拟机1637.4.1 EVM概述1647.4.2 EVM基础操作码1647.4.3 EVM代码的执行1667.5 合约创建1677.6 消息调用1687.7 区块定稿1707.8 本章小结172第8章 应用二进制接口1748.1 函数选择器1748.2 参数编码1758.2.1 类型的规范表达1758.2.2 编码的形式化说明1768.2.3 编码实例1788.3 动态类型的使用1808.4 事件1848.5 合约接口的JSON描述1858.6 处理元组类型1868.7 非标准打包模式1888.8 本章小结189第9章 OpenZeppelin源代码详解1909.1 通用基础合约1919.1.1 地址工具(AddressUtils.sol)1919.1.2 椭圆曲线签名操作(ECRecovery.sol)1929.1.3 限制子合约的余额(LimitBalance.sol)1949.1.4 Merkle证明(Merkle-Proof.sol)1959.1.5 拒绝重入(Reentrancy-Guard.sol)1969.2 算术运算1979.2.1 基本算术(Math.sol)1979.2.2 安全算术(SafeMath.sol)1989.3 自省(introspection)2009.3.1 ERC165(ERC165.sol)2009.3.2 接口查找基础合约(Supports-InterfaceWithLookup.sol)2019.4 归属权(用户权限)2029.4.1 归属权(Ownable.sol)2029.4.2 用户角色(Roles.sol)2049.4.3 基于角色的访问控制(RBAC.sol)2059.4.4 超级用户(Superuser.sol)2089.4.5 联系方式(Contactable.sol)2109.4.6 归属权转移请求(Claimable.sol)2109.4.7 有时限的归属权转移请求(DelayedClaimable.sol)2119.4.8 归属权继承(Heritable.sol)2129.4.9 合约不归属于合约(HasNoContracts.sol)2159.4.10 合约不持有以太币(HasNoEther.sol)2169.4.11 合约可找回token(Can-ClaimToken.sol)2189.4.12 合约不持有token(HasNo-Tokens.sol)2189.4.13 合约什么都不持有(NoOwner.sol)2199.5 访问控制2209.5.1 签名保

封面

区块链技术丛书深入以太坊智能合约开发

书名:区块链技术丛书深入以太坊智能合约开发

作者:杨镇 姜信宝 朱智胜 盖方宇

页数:400

定价:¥99.0

出版社:机械工业出版社

出版日期:2018-08-01

ISBN:9787111623724

PDF电子书大小:97MB 高清扫描完整版



本文标题:《区块链技术丛书深入以太坊智能合约开发》PDF下载

资源仅供学习参考,禁止用于商业用途,请在下载后24小时内删除!