以太坊Solidity智能合约开发

本书特色

[

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

]

内容简介

[

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

]

目录

目录前言第1章以太坊简介11��1以太坊11��1��1不对称加密体系21��1��2密码学哈希函数41��1��3对称点对点网络41��1��4区块链41��1��5以太坊虚拟机51��1��6节点51��1��7矿工51��1��8工作量证明61��1��9去中心化应用61��1��10Solidity61��2智能合约61��3燃料71��3��1为什么需要燃料?81��3��2燃料组成81��4ether91��5账户91��6交易10第2章预备知识112��1简单的例子112��2工具准备122��2��1编程环境准备122��2��2编程工具准备162��2��3区块链浏览器262��3测试环境262��3��1MetaMask访问测试环境272��3��2测试环境领取测试用币272��3��3开发时连接测试环境282��4以太坊源码编译29第3章Solidity编程基础313��1sol文件结构313��1��1编译开关313��1��2引用其他源文件313��1��3注释313��1��4合约323��1��5库323��1��6接口333��2合约文件结构333��3变量类型333��3��1值类型343��3��2引用类型353��3��3字典/映射373��3��4特殊情况373��4操作符383��5语句393��5��1条件语句393��5��2循环语句403��5��3其他403��6修饰符403��6��1标准修饰符403��6��2自定义修饰符443��7数据位置463��8事件473��8��1智能合约返回值给用户接口483��8��2异步的带数据的触发器493��8��3一种比较便宜的存储493��8��4事件里的Indexed参数503��9继承513��9��1单继承513��9��2多重继承513��10其他523��10��1内置523��10��2特殊单位543��10��3类型转换及推断553��10��4异常563��10��5汇编56第4章Solidity编程的高级话题594��1This关键字594��2ERC20标准接口594��2��1方法614��2��2事件624��2��3OpenZepplin框架624��3ERC721标准接口634��3��1ERC721接口定义634��3��2元数据扩展754��3��3可枚举扩展774��3��4ERC165标准814��4合约间调用824��4��1函数调用824��4��2依赖注入844��4��3消息调用844��4��4获取合约间调用的返回值884��5基础算法904��6用Go与合约交互934��6��1创建项目934��6��2创建一个简单的以太坊合约934��6��3用Go访问以太坊合约944��6��4本地测试944��6��5连接到一个以太坊节点984��6��6为账户创建加密的JSON钥匙984��6��7*后验证98第5章ABI接口1025��1内存结构1025��2函数选择子1025��3类型的定义1025��4EVM里的数据表示1035��4��1固定长度数据类型的表示1045��4��2动态长度数据类型的表示1055��5编码1085��5��1简单的例子1085��5��2外部调用例子1095��5��3外部方法调用的ABI编码1125��6基于ABI的编程116第6章智能合约运行原理1186��1设计模式1186��1��1合约自毁1186��1��2工厂合约模式1196��1��3名字登录1206��1��4映射迭代1216��1��5撤出模式1226��2省燃料1226��2��1注意数据类型1236��2��2以字节编码的形式存储值1236��2��3利用SOLC编译器压缩变量1236��2��4使用汇编代码压缩变量1246��2��5合并函数参数1256��2��6使用默克尔树证明减少存储成本1256��2��7无状态的合约1276��2��8在IPFS上存储数据1276��2��9位压缩1276��2��10批处理1286��2��11Storage结构类型读写分离1296��2��12uint256和直接内存存储1306��2��13汇编代码优化1306��3汇编代码1306��3��1栈1316��3��2调用数据1316��3��3内存1326��3��4存储1336��4解构智能合约1346��4��1合约创建1386��4��2合约本体通用部分1416��4��3合约本体特定代码145第7章可升级的合约1477��1方法1477��1��1代理合约1477��1��2分离逻辑和数据1477��1��3通过键值对来分离数据和逻辑1477��1��4部分升级1487��1��5比较1487��1��6简单的代理合约例子1487��2通用的代理模式1507��3Storage1547��3��1继承存储1547��3��2永久存储1547��3��3非结构化存储1557��4Augur1567��4��1合约部署1567��4��2存储部署1577��5Colony1587��5��1存储部署1587��5��2合约部署1597��6总结159第8章编写安全的合约1618��1以太坊已知常见漏洞 1618��1��1上溢和下溢1618��1��2Solidity可见性修饰符的差别1658��1��3重入问题1668��1��4出乎意料的ether操作1708��1��5代理调用1748��1��6默认可见性修饰符1788��1��7熵随机源1808��1��8外部合约引用1808��1��9短地址/参数攻击1848��1��10未验证的CALL返回值1858��1��11竞争条件1868��1��12阻塞攻击1888��1��13操纵块时间戳1908��1��14谨慎使用构造函数1918��1��15未初始化的存储指针1928��1��16浮点数精度1938��1��17交易授权1948��2以太坊一些奇怪的特性1958��2��1没有Key的ether1958��2��2一次性地址1978��2��3一个交易的空投1978��3以太坊智能合约——*佳安全开发指南1988��3��1尽早且明确的暴露问题1988��3��2在支付时使用(pull)模式而不是(push)模式1998��3��3函数代码的顺序:条件,行为,交互2008��3��4留意平台局限性2018��3��5测试用例2038��3��6容错及自动b

封面

以太坊Solidity智能合约开发

书名:以太坊Solidity智能合约开发

作者:嘉文 管健 李万胜

页数:257

定价:¥59.0

出版社:机械工业出版社

出版日期:2020-03-01

ISBN:9787111646426

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



本文标题:《以太坊Solidity智能合约开发》PDF下载

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