热点推荐

查看: 2337|回复: 1

区块链开发实战以太坊关键技术与案例分析

[复制链接]

1418

主题

1532

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
39191
发表于 2019-8-26 21:57:14 | 显示全部楼层 |阅读模式


内容简介  · · · · · ·

本书是“区块链开发实战”系列的第2本,旨在让零基础的读者也能迅速掌握以太坊的各种基本概念、关键技术、工作原理、Dapp开发方法。作者是国内区块链领域的早期实践者和布道者,在区块链技术开发领域积累了丰富的项目经验,这本书得到了ChinaLedger技术委员会主任白硕、MATRIX区块链首席AI科学家邓仰东、阿希链CTO钱汉涛、元界CEO陈浩等多位专家的鼎力推荐。

全书主要内容在逻辑上分为三个部分:

第一部分 准备篇(第1~2章)

这部分介绍了从事区块链开发需要具备的预备知识,如区块链的各种概念的了解、开发环境的搭建和开发工具的使用等。

第二部分 以太坊篇(第3~11章)

这部分是本书的核心内容,系统、全面地讲解和分析了以太坊的各种基本概念、核心技术、工作原理,以及DApp开发方法。如以太坊的安装、编译、运行、私有链的搭建和运行、编程接口、智能合约语言Solidity的语法及其IDE、Solidity智能合约的编译和部署、Truffle框架的使用、DApp的架构与开发流程等。

第三部分 扩展篇(附录)

详细介绍了比特币的工作原理、运行方式、功能模块、编程接口,以及基于比特币的应用开发方法,对于想研究比特币技术原理和从事比特币应用开发的读者来说,是一份难得的资料。





作者简介  · · · · · ·

吴寿鹤

资深区块链技术专家, IONChain(离子链)首席架构师,HyperLedger核心项目开发人员,同时对以太坊相关技术有深入研究。是国内区块链技术领域的早期实践者和布道者,一直积极推动区块链技术的传播和应用落地,是国内知名区块链技术社区“区块链兄弟”的联合创始人,目前从事基于物联网的区块链底层基础平台的开发。

个人主页:http://gcc2ge.github.io

冯翔

资深区块链技术专家, IONChain(离子链)CTO,上海旺链科技区块链研究院负责人,Hyperledger核心项目核心代码开发者。中国区块链技术的早期探索者和传播者,创立了有广泛影响力的区块链技术社区“区块链兄弟”。已经参与过多个基于区块链技术的落地项目,现在阶段主要致力于区块链技术和传统行业的融合,尤其关注区块链技术和物联网技术的结合。

刘涛

上海旺链信息科技有限公司CEO,IONChain(离子链)创始人,致力于结合中国本土情况的区块链研究开发,现为复旦大学区块链研究生课程讲师。前埃森哲高级总监,在高科技制造、汽车、金融行业有超过15年的业务咨询和技术架构经验,曾担任华为、Alcatel-lucent、上汽通用、平安、中国移动高端外部顾问。

周广益

上海指旺金科CEO,中国区块链技术的早期探索者,36Kr、未央网、共享财经等媒体特约作家,现为复旦大学软件学院特聘讲师。



目录  · · · · · ·Contents?目  录
前言
第1章 全面认识区块链 1
1.1 区块链技术的起源和解释 1
1.2 区块链的核心技术及其特性 2
1.2.1 区块链技术的特性 3
1.2.2 区块链的分布式存储技术特性 3
1.2.3 区块链的密码学技术特性 4
1.2.4 区块链中的共识机制 8
1.2.5 区块链中的智能合约 12
1.3 区块链技术演进过程 13
1.4 区块链技术的3个缺点 13
1.5 区块链技术常见的4个错误认识 14
1.6 区块链技术的应用领域 15
1.6.1 区块链在金融行业的应用 15
1.6.2 区块链在供应链中的应用 16
1.6.3 区块链在公证领域的应用 17
1.6.4 区块链在数字版权领域的应用 18
1.6.5 区块链在保险行业的应用 19
1.6.6 区块链在公益慈善领域的应用 21
1.6.7 区块链与智能制造 22
1.6.8 区块链在教育就业中的应用 23
1.7 区块链的其他常见技术框架 24
1.8 本章小结 25
第2章 实战准备 26
2.1 开发环境准备 26
2.1.1 操作系统的配置 26
2.1.2 Docker的使用 27
2.1.3 Git的使用 30
2.2 开发语言 30
2.2.1 GO语言 30
2.2.2 Node.js 32
2.3 常用工具 32
2.3.1 Curl 32
2.3.2 tree 33
2.3.3 Jq 33
2.4 本章小结 34
第3章 以太坊介绍 35
3.1 了解以太坊 35
3.2 以太坊发展路线 36
3.3 以太坊内置货币 37
3.4 以太坊交易吞吐量 38
3.5 以太坊账户 39
3.6 智能合约 40
3.7 Gas与GasPrice 41
3.8 工作量证明算法 41
3.9 以太坊网络类型 42
3.10 以太坊客户端 43
3.11 本章小结 44
第4章 以太坊的编译、安装与运行 45
4.1 在Ubuntu下安装 45
4.2 在MacOS下安装 46
4.3 在Windows下安装 46
4.4 以Docker方式安装 47
4.5 运行以太坊 47
4.6 本章小结 47
第5章 以太坊私有链的搭建与运行 48
5.1 搭建一个私有链 48
5.2 以太坊JavaScript控制台命令 53
5.3 以太坊CLI控制台命令 64
5.3.1 账户管理 64
5.3.2 区块数据管理 65
5.4 以太坊TestRPC测试链搭建 69
5.5 本章小结 78
第6章 以太坊的编程接口 79
6.1 web3.js API 79
6.1.1 安装web3.js并创建实例 79
6.1.2 账户相关API 80
6.1.3 交易相关API 80
6.1.4 区块相关API 87
6.2 JSON-RPC API 87
6.2.1 账户相关API 88
6.2.2 交易相关API 89
6.2.3 区块相关API 94
6.3 本章小结 95
第7章 Solidity IDE和Solidity快速入门 96
7.1 三种Solidity IDE 96
7.1.1 browser-solidity 96
7.1.2 Atom 97
7.1.3 IntelliJ IDEA 97
7.2 Solidity快速入门:编写一个简单的银行合约案例 99
7.3 本章小结 101
第8章 Solidity语法详解 102
8.1 注释 102
8.2 整型和布尔型 103
8.2.1 整型 103
8.2.2 布尔型 104
8.3 地址 104
8.4 字节数组 105
8.4.1 固定长字节数组 105
8.4.2 动态长度字节数组 105
8.5 类型转换和类型推断 106
8.5.1 类型转换 106
8.5.2 类型推断 107
8.6 时间单位和货币单位 107
8.6.1 时间单位 107
8.6.2 货币单位 108
8.7 数组和多维数组 108
8.7.1 数组 108
8.7.2 多维数组 109
8.8 映射/字典 109
8.9 结构体与枚举 111
8.9.1 结构体 111
8.9.2 枚举 112
8.10 全局变量 112
8.11 控制结构 113
8.12 函数 114
8.13 事件 122
8.14 合约 124
8.15 继承 125
8.16 抽象合约 127
8.17 接口 128
8.18 库 128
8.19 Using for 128
8.20 引入其他源文件 129
8.21 状态变量/局部变量 129
8.22 数据位置 130
8.22.1 数据位置概述 130
8.22.2 数据位置之间相互转换 130
8.23 异常处理 132
8.24 编写安全solidity智能合约最佳实践 133
8.24.1 尽早抛出异常 133
8.24.2 结构化函数代码顺序 134
8.24.3 在支付时使用pull模式而不是push模式 134
8.24.4 整数上溢和下溢 136
8.25 本章小结 137
第9章 Solidity 合约编译、部署 138
9.1 编译合约 138
9.1.1 安装solc编译工具 138
9.1.2 开始编译合约 139
9.2 部署合约 141
9.2.1 启动以太坊geth节点 141
9.2.2 部署智能合约 143
9.3 调用合约 145
9.4 本章小结 146
第10章 Truffle详解 147
10.1 什么是Truffle 147
10.2 安装Truffle 148
10.3 创建并初始化项目 149
10.4 创建合约 150
10.5 编译合约 150
10.6 迁移合约 151
10.7 合约交互 156
10.7.1 交易 156
10.7.2 调用 157
10.7.3 合约抽象 157
10.7.4 与合约交互 158
10.7.5 添加一个新合约到网络 159
10.7.6 使用现有合约地址 160
10.7.7 向合约发送以太币 161
10.8 测试合约 163
10.9 JavaScript测试 164
10.10 Solidity测试 165
10.11 Truffle 配置文件 167
10.12 依赖管理 169
10.13 本章小结 171
第11章 以太坊DApps应用开发实战 172
11.1 DApps架构与开发流程 172
11.1.1 DApps架构 VS Web应用架构 172
11.1.2 DApps开发流程 173
11.2 案例:去中心化微博 174
11.2.1 创建项目 175
11.2.2 合约 176
11.2.3 前端应用 181
11.3 本章小结 192
附录A 比特币的原理和运行方式 193
附录B 比特币的bitcoin-cli模块详解 203
附录C 比特币系统的编程接口 213
附录D 比特币系统客户端项目实战 218
附录E 区块链相关术语 225
后记 228



下载地址回复可见:
游客,如果您要查看本帖隐藏内容请回复

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

2

主题

464

帖子

1443

积分

永久VIP会员

Rank: 3Rank: 3

积分
1443
发表于 2020-5-16 20:21:17 | 显示全部楼层
区块链开发实战以太坊关键技术与案例分析
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 返回顶部 返回列表