搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
出版时间 :
以太坊Solidity智能合约开发
0.00     定价 ¥ 59.00
泸西县图书馆
此书还可采购1本,持证读者免费借回家
  • ISBN:
    9787111646426
  • 作      者:
    嘉文,管健,李万胜
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2020-03-01
收藏
内容介绍

本书从零开始介绍Solidity程序开发,从Solidity语言中基础的关键字和语句开始介绍,逐步深入到高级应用,包括设计模式、合约可升级的设计、合约的安全性问题及对策等,并结合EVM的实现,讨论Solidity语句的汇编实现;对一些原理的讲解,提供了相对应的实例,以期更易于理解原理的实现机理;同时,对Solidity应用于DApp开发,及使用区块链上的去中心化存储(IPFS)也有详细的介绍。
本书可作为对区块链感兴趣的程序开发人员、高校师生等的参考书,也可作为相关课程的培训教材。

展开
精彩书评

智能合约是区块链应用技术的核心基石之一,也是广大程序设计人员切入区块链技术的入门技术。本书就是一个非常不错的一站式学习选择。本书的特点是,既深入介绍了Solidity语言的文法,又深入解析了Solidity智能合约的以太坊虚机(EVM)的汇编实现,帮助读者更深刻的理解智能合约的工作原理,因此能够更好地解决各种异常情况。同时书中特别强调与智能合约安全相关的代码规范,对于初学者会有很大帮助。书中包含了大量程序片段,可以作为动手实践时的重要参考。

 

作者嘉文是热门畅销书《白话区块链》的作者,加拿大罗特曼商学院MBA以及McGill信息学硕士;管健博士是学堂在线的技术副总裁;我与管博士和嘉文两位曾在学堂在线共事过一段时间;而李万胜也是区块链技术社区的活跃贡献者,专精于去中心化分布式存储IPFS技术。作者们从理论到实践到技术,都具有丰富的经验和知识积累。

 

总而言之,本书出版及时,内容详实,是不可多得的智能合约编程教材。

 

徐葳

清华大学交叉信息研究院副教授、助理院长,青年千人计划


展开
目录
目录
前言
第1章以太坊简介1
11以太坊1
111不对称加密体系2
112密码学哈希函数4
113对称点对点网络4
114区块链4
115以太坊虚拟机5
116节点5
117矿工5
118工作量证明6
119去中心化应用6
1110Solidity6
12智能合约6
13燃料7
131为什么需要燃料?8
132燃料组成8
14ether9
15账户9
16交易10
第2章预备知识11
21简单的例子11
22工具准备12
221编程环境准备12
222编程工具准备16
223区块链浏览器26
23测试环境26
231MetaMask访问测试环境27
232测试环境领取测试用币27
233开发时连接测试环境28
24以太坊源码编译29
第3章Solidity编程基础31
31sol文件结构31
311编译开关31
312引用其他源文件31
313注释31
314合约32
315库32
316接口33
32合约文件结构33
33变量类型33
331值类型34
332引用类型35
333字典/映射37
334特殊情况37
34操作符38
35语句39
351条件语句39
352循环语句40
353其他40
36修饰符40
361标准修饰符40
362自定义修饰符44
37数据位置46
38事件47
381智能合约返回值给用户接口48
382异步的带数据的触发器49
383一种比较便宜的存储49
384事件里的Indexed参数50
39继承51
391单继承51
392多重继承51
310其他52
3101内置52
3102特殊单位54
3103类型转换及推断55
3104异常56
3105汇编56
第4章Solidity编程的高级话题59
41This关键字59
42ERC20标准接口59
421方法61
422事件62
423OpenZepplin框架62
43ERC721标准接口63
431ERC721接口定义63
432元数据扩展75
433可枚举扩展77
434ERC165标准81
44合约间调用82
441函数调用82
442依赖注入84
443消息调用84
444获取合约间调用的返回值88
45基础算法90
46用Go与合约交互93
461创建项目93
462创建一个简单的以太坊合约93
463用Go访问以太坊合约94
464本地测试94
465连接到一个以太坊节点98
466为账户创建加密的JSON钥匙98
467最后验证98
第5章ABI接口102
51内存结构102
52函数选择子102
53类型的定义102
54EVM里的数据表示103
541固定长度数据类型的表示104
542动态长度数据类型的表示105
55编码108
551简单的例子108
552外部调用例子109
553外部方法调用的ABI编码112
56基于ABI的编程116
第6章智能合约运行原理118
61设计模式118
611合约自毁118
612工厂合约模式119
613名字登录120
614映射迭代121
615撤出模式122
62省燃料122
621注意数据类型123
622以字节编码的形式存储值123
623利用SOLC编译器压缩变量123
624使用汇编代码压缩变量124
625合并函数参数125
626使用默克尔树证明减少存储成本125
627无状态的合约127
628在IPFS上存储数据127
629位压缩127
6210批处理128
6211Storage结构类型读写分离129
6212uint256和直接内存存储130
6213汇编代码优化130
63汇编代码130
631栈131
632调用数据131
633内存132
634存储133
64解构智能合约134
641合约创建138
642合约本体通用部分141
643合约本体特定代码145
第7章可升级的合约147
71方法147
711代理合约147
712分离逻辑和数据147
713通过键值对来分离数据和逻辑147
714部分升级148
715比较148
716简单的代理合约例子148
72通用的代理模式150
73Storage154
731继承存储154
732永久存储154
733非结构化存储155
74Augur156
741合约部署156
742存储部署157
75Colony158
751存储部署158
752合约部署159
76总结159

第8章编写安全的合约161
81以太坊已知常见漏洞 161
811上溢和下溢161
812Solidity可见性修饰符的差别165
813重入问题166
814出乎意料的ether操作170
815代理调用174
816默认可见性修饰符178
817熵随机源180
818外部合约引用180
819短地址/参数攻击184
8110未验证的CALL返回值185
8111竞争条件186
8112阻塞攻击188
8113操纵块时间戳190
8114谨慎使用构造函数191
8115未初始化的存储指针192
8116浮点数精度193
8117交易授权194
82以太坊一些奇怪的特性195
821没有Key的ether195
822一次性地址197
823一个交易的空投197
83以太坊智能合约——最佳安全开发指南198
831尽早且明确的暴露问题198
832在支付时使用(pull)模式而不是(push)模式199
833函数代码的顺序:条件,行为,交互200
834留意平台局限性201
835测试用例203
836容错及自动b
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

温馨提示:请使用泸西县图书馆的读者帐号和密码进行登录

点击获取验证码
登录