以太坊智能合约开发实战pdf下载pdf下载

以太坊智能合约开发实战百度网盘pdf下载

作者:
简介:本篇主要提供以太坊智能合约开发实战pdf下载
出版社:机械工业出版社自营官方旗舰店
出版时间:2019-04
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色





编辑推荐

适读人群 :区块链技术爱好者、区块链底层开发者、智能合约开发初学者、区块链DApp开发人员、转行区块链开发的程序员、区块链技术爱好者、计算机和金融专业的学生、区块链开发培训学员

资深:资深区块链一线开发工程师力作,业内7位大咖鼎力推荐

易学:按照“概念与原理→核心技术→典型实例→实战案例”的模式讲解,容易上手

实用:详解100多个以太坊智能合约开发示例和2个完整的项目实战案例

图解:绘制了近60幅原理图,帮助读者透彻理解以太坊区块链的底层机制

全面:涵盖区块链基础理论与原理、以太坊常用工具、Solidity语言等内容,非常系统

翔实:详解每个示例的实现步骤,给出详细的示例代码,并对代码做了详细注释

业内7位重量级大咖力荐:

肖永泉 当乐创始人/DOGI和MeshBox发起人/巴比特早期投资人

王彬生 区块链联合发展组织顾问/中国社科院研究生院金融专业特聘导师

康烁 柏链道捷CTO/清华大学区块链中心高级工程师

何林 当乐网技术总监

刘亚 AjoyLab区块链游戏发起人与制作人/魔砖游戏创始人

钟伟 汤沐科技高级研发工程师

汪亮 路行通高级研发工程师

《以太坊智能合约开发实战》核心内容:

区块链基本原理

区块链技术实际应用

去中心化应用——DApp

比特币及其原理

以太坊基本概念与原理

智能合约开发常用工具

私链神器Ganache及RCP接口

以太坊客户端Geth及底层技术

以太坊常用钱包与浏览器

Solidity语言及智能合约开发

通过web3.js与以太坊交互

工程化项目开发利器Truffle

众筹实战案例

以太坊代币实战案例

超值赠送:

完整的实例源代码(需要下载)


内容简介

《以太坊智能合约开发实战》从区块链的概念、原理、核心技术和应用四个方面,系统地介绍了以太坊区块链开发的相关知识。其中,重点介绍了以太坊的相关概念和原理、以太坊客户端Geth、以太坊常用智能合约开发工具、Solidity语言和智能合约开发等内容,并介绍了众筹合约和代币合约两个项目实战案例,可以让读者对智能合约开发的整体流程有一个全面的了解。另外,书中结合示例对web3.js的相关知识也做了详细介绍,以帮助读者更好地理解和利用以太坊的相关数据。

《以太坊智能合约开发实战》共17章,分为4篇,涵盖的主要内容有区块链的概念、原理与底层技术;以太坊的相关概念与原理;以太坊相关协议;以太坊客户端Geth;以太坊智能合约的其他常用工具与客户端;Solidity语言的基本概念与数据类型;使用Solidity进行以太坊智能合约开发;通过web3.js与以太坊区块链数据进行交互;众筹智能合约与代币智能合约项目实战案例。

《以太坊智能合约开发实战》内容丰富,讲解通俗易懂,案例典型,实用性强,特别适合区块链技术爱好者和智能合约开发的相关从业人员阅读,也适合区块链底层研究人员阅读。另外,《以太坊智能合约开发实战》还适合区块链培训机构作为相关课程的培训教材。


作者简介

唐盛彬 就职于国内领先的手机游戏平台当乐网(d.cn),主要负责当乐游戏中心App平台的SDK及区块链游戏众筹平台DOGI.IO的智能合约开发工作。熟悉以太坊,对以太坊底层原理和相关协议有较为深入的研究;熟悉以太坊智能合约开发的核心技术与常用工具,如Solidity语言、web3.js、Truffle和Geth等;对使用Solidity语言进行以太坊智能合约开发有丰富的实战经验,特别是在众筹和代币开发等相关领域。


精彩书评

财产所有权和在此基础上的契约精神奠定了现代市场经济。而以太坊智能合约的价值在于,它以技术的方式确保了财产所有权及在此基础之上的契约订立和执行。区块链的发展正处于“随风潜入夜,润物细无声”的阶段。人们对区块链有过殷切的期望,也有过悲观的预期,但我始终坚信区块链必将“山穷水复疑无路,柳暗花明又一村”。

——当乐创始人/DOGI和MeshBox发起人/巴比特早期投资人 肖永泉

区块链是非常有应用前景的技术,目前已经有了一些落地应用场景,涉及多个行业。《以太坊智能合约开发实战》是一本不可多得的以太坊区块链开发图书,能够让读者系统地掌握智能合约开发的全貌。《以太坊智能合约开发实战》风格朴实,通俗易懂,相信读者通过阅读本书,可以在较短的时间内掌握以太坊智能合约开发。

——柏链道捷CTO/清华大学区块链中心高级工程师 康烁

科技的发展使信息的传递成本趋向于零,而区块链技术更是让价值的传递成为可能。如果说比特币是区块链世界的灯塔,那么以太坊的出现则直接把区块链提升到了智能合约应用的层面,它是区块链世界的推土机,它的出现为现实世界的区块链化打开了一扇门。

——区块链联合发展组织顾问/中国社科院研究生院金融专业特聘导师 王彬生

区块链技术在信息安全、交易认证等各个领域将会有非常广泛的应用。作者是在对区块链技术有比较深入的研究和丰富的实践后写作了《以太坊智能合约开发实战》,这使得本书很接地气,非常实用。相信《以太坊智能合约开发实战》可以成为区块链开发入门读者的良师益友,也会对区块链从业人员参与实际项目有相当的启发。

——当乐网技术总监 何林

区块链的开放、去中心化和公开透明理念,将其带入了更加迷人的境地,它充分打开了人们的想象空间。《以太坊智能合约开发实战》作者系资深智能合约开发者,他对全书内容做了合理安排。这使得《以太坊智能合约开发实战》的知识点覆盖很全面,讲解细致而透彻,书中大量的示例和两个真实项目实战案例,更是对读者有很强的指导性,值得每一个区块链从业者细读。

——AjoyLab区块链游戏发起人与制作人/魔砖游戏创始人 刘亚

当前,区块链在共享经济、支付、物联网等领域已经有了不少应用,相信未来还会在更多的领域有越来越多的落地应用。《以太坊智能合约开发实战》作者对以太坊有深入研究,所写的这本书内容非常全面、系统,推荐所有的区块链技术爱好者阅读。

——汤沐科技高级研发工程师 钟伟

区块链因数字货币而被大众知晓,但其价值远不止于此。《以太坊智能合约开发实战》由浅入深,从基本概念讲起,理论结合实战案例,让读者很容易上手,是相关人员学习区块链技术的明智之选。

——路行通高级研发工程师 汪亮


目录

前言
第1篇 基础理论与原理
第1章 与区块链的第一次亲密接触 2
1.1 什么是区块链 2
1.1.1 区块链简介 2
1.1.2 区块链的链式结构 3
1.1.3 区块链上的区块常见数据 4
1.2 工作量证明机制(PoW) 6
1.2.1 区块链遭遇的问题 6
1.2.2 PoW模型 8
1.2.3 PoW为什么能防止篡改 9
1.3 权益证明机制(PoS) 11
1.3.1 什么是PoS 12
1.3.2 PoS的优势与劣势 12
1.4 委托权益证明(DPoS) 12
1.5 权威证明(PoA) 13
1.6 区块链的应用 13
1.7 本章小结 13
第2章 去中心化应用——DApp 15
2.1 DApp简介 15
2.1.1 什么是DApp 15
2.1.2 DApp网络组建过程 16
2.1.3 DApp的优点 16
2.1.4 DApp存在的问题 16
2.2 中心化与去中心化 17
2.2.1 身份验证 17
2.2.2 通信 17
2.2.3 数据交互 17
2.2.4 系统维护 18
2.3 DApp网络与通信 18
2.3.1 P2P网络与WWW 19
2.3.2 P2P网络拓扑结构类型 20
2.3.3 小结 21
2.4 DApp货币与中心化数据交互 22
2.4.1 DApp货币 22
2.4.2 中心化应用获取去中心化数据 22
2.4.3 去中心化应用获取中心化数据 22
2.5 常见的DApp 23
2.5.1 比特币 23
2.5.2 以太坊 23
2.5.3 IPFS存储系统 23
第3章 比特币那些事 25
3.1 比特币简介 25
3.1.1 比特币公钥与私钥 25
3.1.2 数字签名 26
3.2 椭圆曲线算法 26
3.2.1 群 26
3.2.2 椭圆曲线算法定义 28
3.2.3 椭圆曲线几何运算 29
3.2.4 椭圆曲线算法的代码实现 30
3.2.5 椭圆曲线加密与签名原理 37
3.3 比特币私钥、公钥与地址 39
3.3.1 从私钥到地址 39
3.3.2 公钥压缩 40
3.3.3 私钥格式 41
3.3.4 私钥与安全 41
3.4 比特币交易 44
3.4.1 交易简介 44
3.4.2 交易输出 44
3.4.3 交易输入 44
3.4.4 交易费 45
3.4.5 付款至公钥哈希(P2PKH) 45
3.4.6 多重签名与P2SH 46
3.5 比特币钱包 46
3.5.1 钱包简介 46
3.5.2 生成助记词 47
3.5.3 从助记词生成种子 48
3.5.4 从种子生成HD钱包 48
3.5.5 HD钱包密钥路径 50
3.6 比特币相关资源 51
第4章 以太坊 52
4.1 以太坊简介 52
4.1.1 什么是以太坊 52
4.1.2 以太坊虚拟机(EVM) 53
4.1.3 以太坊智能合约与高级语言 53
4.1.4 以太币单位 54
4.1.5 以太坊发行版本与提案 54
4.2 以太坊账户 55
4.2.1 外部账户 55
4.2.2 合约账户 56
4.2.3 外部账户与合约账户的异同 56
4.3 以太坊交易 57
4.3.1 gas、gasPrice与gasLimit 57
4.3.2 gasUsed与交易花费 58
4.3.3 什么是以太坊交易与消息 58
4.4 以太坊网络 59
4.4.1 以太坊网络简介 59
4.4.2 以太坊与Kademlia 59
4.4.3 以太坊客户端 61
4.5 挖矿 62
4.5.1 什么是挖矿 62
4.5.2 挖矿奖励 62
4.5.3 以太坊区块 63
4.6 GHOST协议 64
4.6.1 区块时间 64
4.6.2 区块分叉 65
4.6.3 普通分叉带来的问题 66
4.6.4 GHOST协议的具体内容 67
4.7 Ethash算法之DAG 68
4.7.1 什么是DAG 68
4.7.2 DAG生成过程 69
4.7.3 为什么要使用DAG 69
4.8 Ethash算法 70
4.8.1 Ethash算法简介 70
4.8.2 Ethash算法流程 70
4.9 本章小结 71
第2篇 开发工具
第5章 智能合约开发常用工具 74
5.1 Git简介 74
5.1.1 Git安装 74
5.1.2 Git常用命令 75
5.1.3 Git资源推荐 76
5.2 Node.js简介 76
5.2.1 什么是Node.js 76
5.2.2 Node.js安装 77
5.3 NPM简介 78
5.3.1 npm config命令 78
5.3.2 NPM与语义化版本 80
5.3.3 npm install命令 82
5.3.4 NPM镜像 83
5.3.5 NPM的其他常用命令 84
5.4 webpack简介 85
5.4.1 认识webpack 85
5.4.2 webpack首秀 85
5.4.3 webpack 与webpack-dev-server 87
5.4.4 webpack常用功能与配置 90
5.4.5 webpack总结 92
5.5 Postman简介 92
5.5.1 认识Postman 93
5.5.2 Postman的简单用法 94
5.5.3 Postman脚本 95
5.6 LevelDB简介 96
5.6.1 认识LevelDB 96
5.6.2 LevelDB文件 97
5.6.3 SST结构与数据查找 99
第6章 以太坊私链神器——Ganache 102
6.1 Ganache简介 102
6.1.1 什么是Ganache 102
6.1.2 ganache-cli命令安装 103
6.1.3 Ganache图形界面 104
6.2 Ganache常见命令参数 106
6.2.1 挖矿时间 106
6.2.2 主机端口与网络 106
6.2.3 gas相关参数 106
6.2.4 其他参数 106
6.3 Ganache账户 107
6.3.1 能多给我点钱吗 107
6.3.2 能多给我几个账户吗 108
6.3.3 助记词相关参数 108
6.3.4 指定账户 108
6.3.5 锁定账户与解锁 109
6.4 Ganache与JavaScript 109
6.4.1 在工程中引用Ganache的Provider 109
6.4.2 在工程中启动Ganache的Server 110
6.4.3 配置工程中依赖的Ganache 111
6.5 Ganache交易相关RPC方法 112
6.5.1 eth_sendTransaction方法 113
6.5.2 eth_getTransactionCount方法 115
6.5.3 eth_getTransactionReceipt方法 116
6.5.4 eth_getTransactionByHash方法 116
6.5.5 交易相关的其他方法 117
6.6 Ganache账户相关RPC方法 117
6.6.1 eth_accounts方法 118
6.6.2 eth_getBalance方法 118
6.6.3 eth_coinbase方法 119
6.7 Ganache区块相关RPC方法 119
6.7.1 eth_getBlockByHash方法 119
6.7.2 eth_getBlockByNumber方法 122
6.7.3 其他相关方法 122
6.8 Ganache日志相关RPC方法 123
6.8.1 eth_newFilter方法 123
6.8.2 eth_getFilterLogs方法 124
6.8.3 eth_getLogs方法 125
6.8.4 其他关联方法 126
6.9 Ganache的其他RPC方法 127
6.9.1 web3_clientVersion方法 127
6.9.2 net_version方法 127
6.9.3 eth_getCode方法 128
6.9.4 eth_sign方法 129
第7章 以太坊官方客户端——Geth 130
7.1 Geth简介 130
7.1.1 Geth是什么 130
7.1.2 Geth安装 130
7.1.3 Geth相关目录 132
7.1.4 Geth相关工具 134
7.2 Geth子命令 134
7.2.1 Geth子命令概述 135
7.2.2 Geth子命令之account 136
7.2.3 Geth子命令之console与attach 137
7.2.4 Geth子命令之copydb与removedb 137
7.3 Geth启动参数 138
7.3.1 Geth数据同步模式 138
7.3.2 Geth网络相关参数 138
7.3.3 Geth以太坊相关参数 139
7.3.4 Geth RPC相关参数 140
7.3.5 Geth挖矿相关参数 141
7.3.6 Geth ethash算法参数 142
7.3.7 Geth交易池配置 142
7.3.8 Geth日志参数 145
7.3.9 Geth的其他参数 146
7.4 Geth启动实例 146
7.4.1 Geth启动单个节点 146
7.4.2 Geth启动多节点组网 148
7.5 Geth控制台与管理接口 149
7.5.1 admin模块 149
7.5.2 debug模块 150
7.5.3 miner模块 151
7.5.4 personal模块 152
7.5.5 txpool模块 153
7.6 keystore文件 153
7.6.1 keystore文件简介 153
7.6.2 从密钥到密钥文件 154
7.6.3 从密钥到密钥文件流程验证 155
第8章 以太坊钱包与浏览器 158
8.1 MetaMask插件 158
8.1.1 MetaMask简介 158
8.1.2 MetaMask安装 159
8.1.3 第一次使用MetaMask 160
8.1.4 MetaMask的连接配置 161
8.1.5 MetaMask的其他配置 162
8.1.6 MetaMask账户管理 163
8.1.7 MetaMask交易 164
8.1.8 小结 165
8.2 Ethereum Wallet钱包 166
8.2.1 Ethereum Wallet简介 166
8.2.2 安装Ethereum Wallet与Mist 166
8.2.3 使用Ethereum Wallet 169
8.3 Mist与Ethereum Wallet 170
8.3.1 Ethereum Wallet与Mist的区别 171
8.3.2 Mist的配置与使用 171
8.3.3 小结 172
8.4 MyEtherWallet网页钱包 172
8.4.1 MyEtherWallet简介 173
8.4.2 MyEtherWallet合约交互 174
8.4.3 MyEtherWallet离线交易 175
8.4.4 MyEtherWallet的其他功能 177
第3篇 Solidity与智能合约开发
第9章 Solidity初遇 180
9.1 Solidity简介 180
9.1.1 什么是Solidity 180
9.1.2 智能合约示例 181
9.1.3 Solidity编译版本 182
9.2 Solidity编辑器 182
9.2.1 Sublime编辑器 182
9.2.2 Atom编辑器 185
9.2.3 IDEA编辑器 187
9.3 Remix编辑器 188
9.3.1 Remix简介 188
9.3.2 Remix文件管理 189
9.3.3 Remix编辑面板与控制台 190
9.3.4 Remix编译与运行面板 191
9.3.5 Remix基本配置面板 193
9.3.6 Remix分析配置面板 194
9.4 Solidity常见概念 196
9.4.1 状态变量 196
9.4.2 局部变量 196
9.4.3 Solidity函数 197
9.4.4 返回多值 197
9.4.5 构造函数 198
9.4.6 异常 200
9.4.7 Solidity注释与文档 201
9.5 Solidity运算符 203
9.5.1 Solidity运算符简介 203
9.5.2 Solidity运算符注意事项 204
9.6 Solidity控制结构 205
9.6.1 控制结构简介 205
9.6.2 判断语句 205
9.6.3 for循环 206
9.6.4 while与do…while循环 206
9.6.5 continue与break 207
9.6.6 三目运算符 208
9.7 可见性修饰符 209
9.7.1 public修饰符 209
9.7.2 internal修饰符 210
9.7.3 private修饰符 213
9.7.4 external修饰符 214
9.8 函数其他修饰符 216
9.8.1 constant修饰符 216
9.8.2 view修饰符 217
9.8.3 pure修饰符 217
第10章 Solidity数据类型 219
10.1 数据类型简介 219
10.1.1 值类型 219
10.1.2 引用类型 220
10.1.3 小结 221
10.2 Booleans类型 221
10.2.1 Booleans类型简介 221
10.2.2 Booleans类型支持的运算符 221
10.3 Integers类型 223
10.3.1 Integers类型简介 223
10.3.2 Integers类型支持的运算符 224
10.3.3 Integers整除问题 225
10.4 定点数类型 226
10.4.1 定点数类型简介 226
10.4.2 定点数类型支持的运算符 227
10.5 字面量 227
10.5.1 字符串字面量 227
10.5.2 十六进制字面量 229
10.5.3 有理数字面量 230
10.6 Enum类型 231
10.6.1 枚举类型简介 231
10.6.2 枚举类型实例 231
10.7 mapping类型 232
10.7.1 mapping类型简介 232
10.7.2 mapping类型实例 232
10.8 struct类型 233
第11章 Solidity数据类型进阶 235
11.1 Solidity固定大小字节数组 235
11.1.1 固定大小字节数组类型 235
11.1.2 固定大小字节数组支持

前言/序言

区块链技术是当下炙手可热的应用技术。甚至与区块链相关的一些名词,比如数字货币、去中心化应用、比特币和以太坊等也是开发人员经常提及的热门话题,即便不是计算机相关行业的人也可能有所耳闻。而智能合约的出现让人们意识到,区块链技术除了数字货币之外还有更广阔的应用空间。就现阶段而言,要实现智能合约的落地应用,最普及的方式就是通过以太坊智能合约而实现,它有不断完善的生态,也有一些具体的落地项目。可以预见,以太坊智能合约开发技术在未来会有更多的落地应用开花结果。
  当前,以太坊区块链的开发还处在一个起步阶段,很多生态还不是很完善,相关工具、库,甚至开发语言本身都还处在不断地迭代之中,而且相关学习资料也比较少。这种情形和当年Android开发在国内刚起步时一样。笔者作为一个区块链技术的探索者正行走在这条道路上,觉得有必要把自己的一些经验和心得体会进行总结并集结成册,以帮助那些对区块链技术感兴趣的人,让他们少走一些弯路。这便是笔者写作本书的初衷。
  本书主要介绍了利用Solidity语言开发以太坊智能合约的相关知识。书中涵盖了区块链与以太坊智能合约的基本原理;智能合约开发环境的搭建;各种开发、集成与测试工具的介绍,以及Solidity语言的详细介绍等。相信通过阅读本书,读者能较为系统地掌握以太坊智能合约开发的核心技术与要点。
本书特色
  1.内容全面、系统
  本书从区块链的概念、原理、核心技术和应用四个方面展开讲解,涵盖以太坊智能合约开发的方方面面知识,如以太坊客户端、智能合约开发工具、Solidity语言等,读者通过一本书即可较为系统地掌握以太坊智能合约开发。
  2.讲解由浅入深,循序渐进
  本书讲解时从概念和原理入手,然后剖析核心技术,再辅以典型实例,尽量让前文的讲解作为后文的铺垫,一步步带领读者循序渐进地学习。这样的章节安排符合读者的学习和认知规律,学习梯度比较平滑,学习效果更好。
  3.原理与实践相结合
  笔者深信,只有通过动手实践,才能加深对知识的理解,所以书中不仅介绍了区块链和以太坊智能合约的相关概念和原理,而且还给出了实现方法和步骤,这样可以让读者真正学以致用,适应职场的要求。
  4.一图胜千言,配合大量图示讲解
  本书涉及的概念和基本原理比较多,这些概念和原理比较抽象。为了便于读者直观地理解这些知识,笔者绘制了大量的流程图和原理图帮助读者学习。真可谓一图胜千言,用文字不容易讲解清楚的内容,一幅图就可以直观地展现出来。
  5.案例典型,步骤详细,代码翔实
  本书注重内容的实用性,重要的知识点都配合实例进行讲解,而且在最后两章介绍了众筹和代币智能合约开发两个项目案例。书中在讲解这些实例和案例时都给出了详细的操作步骤和实现代码,并对关键代码做了详细的注释,便于读者理解。
本书内容
  本书共17章,分为4篇。
  第1篇 基础理论与原理篇(第1~4章)
  第1章与区块链的第一次亲密接触,主要介绍了区块链的概念和原理,并介绍了区块链中的工作量证明机制、权益证明机制和委托权益证明等内容。
  第2章去中心化应用——DApp,主要介绍了DApp的概念及其优缺点,还介绍了DApp如何和中心化应用进行通信。
  第3章比特币那些事,主要介绍了比特币的公钥格式、私钥格式、私钥的生成和从私钥获取公钥的方法,并介绍了如何从公钥获取地址,以及测试比特币账户碰撞等。
  第4章以太坊,主要介绍了以太坊涉及的基本概念和原理,如以太坊账户、以太坊交易、挖矿、GHOST协议、DAG算法和Ethash算法等。
  第2篇 开发工具(第5~8章)
  第5章智能合约开发常用工具,主要介绍了在以太坊智能合约开发过程中会用到的一些工具,如Git版本管理工具、Node.js和NPM等。
  第6章以太坊私链神器——Ganache,主要介绍了在以太坊智能合约开发中需要使用的Ganache工具。其中,重点介绍了Ganache的图形界面、命令行工具、常用命令和参数,以及如何在项目中使用Ganache。
  第7章以太坊官方客户端——Geth,主要介绍了Geth的启动命令和参数,借此认识以太坊的各个协议内容。
  第8章以太坊钱包与浏览器,主要介绍了MetaMask浏览器插件的用法。MetaMask也可以看做是一个轻钱包,可以在开发者构建Web应用和以太坊区块链交互时提供帮助。
  第3篇 Solidity与智能合约开发(第9~14章)
  第9章Solidity初遇,主要介绍了Solidity语言常用开发工具的安装与配置,并对Solidity语言的基本概念,如状态变量和局部变量做了详细介绍,另外还对Solidity中的运算符、控制结构和函数的常见修饰符(如payable、view、pure等)做了必要讲解。
  第10章Solidity数据类型,主要介绍了Solidity的数据类型及其应用,如整型中包含的具体类型、各种字面量类型、枚举类型、结构体类型及mapping类型等。
  第11章Solidity数据类型进阶,主要介绍了Solidity的一些更加复杂的数据类型,如固定大小字节数组、动态大小字节数组、地址类型、函数类型等,另外还介绍了不同数据类型之间隐式转换与显式转换的方法,以及delete操作应用于各个数据类型等。
  第12章Solidity开发智能合约,主要介绍了使用Solidity开发以太坊智能合约的相关内容,涵盖EVM结构和数据、事件与日志、全局以太币和时间单位后缀、区块与交易的全局属性、错误处理函数、数学与Hash函数、ABI编码和特殊类型函数等。
  第13章Solidity开发智能合约进阶,介绍了Solidity和智能合约开发的进阶知识,涵盖Solidity数据位置与赋值、函数修改器、合约继承,以及Solidity的库、编译与编码风格等。
  第14章通过web3.js与以太坊进行交互,主要介绍了如何使用web3.js与以太坊智能合约进行交互,给出了web3.js和账户、合约、ABI及IBAN交互的多个实例。
  第4篇 项目案例实战(第15~17章)
  第15章工程化项目开发利器——Truffle,主要介绍了如何使用Truffle初始化项目、配置Truffle、编译合约,以及执行部署和测试等。
  第16章项目流程与众筹实战案例,主要介绍了一个众筹项目案例的实现过程,涉及项目的初始化、目录结构、本地测试及部署环境搭建等相关内容。
  第17章以太坊代币标准与ERC20代币案例,主要介绍了以太坊代币的相关内容,涉及ERC20的标准接口和扩展接口,并给出了一个ERC20代币实例,还对ERC20标准代币的扩展做了介绍。
配书资源及获取方式
  本书涉及的源代码等配书资源需要读者自行下载。请登录华章公司的网站www.hzbook.com,搜索到本书,然后单击“资料下载”按钮,单击页面上的“配书资源”下载链接即可下载。
本书读者对象
* 区块链技术爱好者;
* 区块链底层开发人员;
* 以太坊智能合约开发初学者;
* 想要系统了解智能合约开发的人员;
* 区块链DApp应用开发人员;
* 各类转行做区块链开发的程序员;
* 其他对区块链感兴趣的人员;
* 计算机和金融专业的学生;
* 区块链开发的培训班学员。
售后服务
  因受笔者水平所限,加之成书时间较短,本书可能还有疏漏和不当之处,敬请读者指正。读者在阅读本书的过程中若有疑问,请发E-mail到hzbook2017@163.com和编辑部取得联系。
  
  编著者