失效链接处理 |
Solidity编程:构建以太坊和区块链智能合约的初学者指南 PDF 下载
转载自:https://download.csdn.net/download/xiaoqiaoqiao1/11008390
本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/26483552.html
相关截图:
资料简介:
本书首先简要介绍区块链、以太坊及其中*重要的概念或组件。随后介绍如何安装所有必要的工具来编写、测试和调试以太坊上的Solidity合约。然后书中将探索Solidity源文件的布局及如何使用不同的数据类型,介绍构建智能合约时使用的运算符、控制结构和数据结构。*后通过Solidity介绍面向对象编程中的函数调用、返回类型、函数修改器。通过本书你将学会事件记录和异常处理,以及测试和调试智能合约。
资料目录:
译者序 前言 审校者简介 第1章 区块链、以太坊和智能合约 1 1.1 什么是区块链 2 1.2 为什么是区块链 3 1.3 加密技术 4 1.3.1 散列 5 1.3.2 数字签名 7 1.4 以太币 7 1.5 gas 8 1.6 区块链和以太坊架构 9 1.6.1 区块如何互相连接 10 1.6.2 交易和区块如何互相连接 11 1.7 以太坊节点 12 1.7.1 EVM 12 1.7.2 以太坊挖矿节点 13 1.7.3 如何挖矿 14 1.8 以太坊账户 15 1.8.1 外部账户 16 1.8.2 合约账户 16 1.9 交易 16 1.10 区块 20 1.11 端到端的交易 21 1.12 什么是合约 22 1.13 什么是智能合约 22 1.14 如何部署合约 27 1.15 本章小结 27 第2章 安装以太坊和Solidity 29 2.1 以太坊网络 29 2.1.1 主网 30 2.1.2 测试网络 30 2.1.3 私有网络 31 2.1.4 联盟网络 31 2.2 Geth 31 2.3 搭建一个私有网络 35 2.4 ganache-cli 40 2.5 Solidity编译器 43 2.6 web3 JavaScript库 43 2.7 Mist钱包 45 2.8 MetaMask 47 2.9 本章小结 51 第3章 Solidity介绍 53 3.1 以太坊虚拟机 53 3.2 Solidity和Solidity文件 54 3.2.1 预编译指令 55 3.2.2 注释 56 3.2.3 import语句 57 3.2.4 合约 58 3.3 合约的结构 59 3.3.1 状态变量 60 3.3.2 结构 62 3.3.3 修改器 63 3.3.4 事件 64 3.3.5 枚举 65 3.3.6 函数 66 3.4 Solidity中的数据类型 68 3.4.1 值类型 68 3.4.2 引用类型 69 3.5 存储和内存数据位置 71 3.5.1 规则1 71 3.5.2 规则2 71 3.5.3 规则3 72 3.5.4 规则4 72 3.5.5 规则5 72 3.5.6 规则6 74 3.5.7 规则7 75 3.5.8 规则8 76 3.6 字面量 77 3.7 整型 78 3.8 布尔型 79 3.9 字节数据类型 80 3.10 数组 82 3.10.1 固定数组 83 3.10.2 动态数组 83 3.10.3 特殊数组 84 3.10.4 数组属性 86 3.11 数组的结构 86 3.12 枚举 88 3.13 地址 89 3.14 映射 90 3.15 本章小结 94 第4章 全局变量和函数 97 4.1 var类型变量 97 4.2 变量声明提前 99 4.3 变量作用域 100 4.4 类型转换 101 4.4.1 隐式转换 102 4.4.2 显式转换 102 4.5 区块和交易全局变量 104 4.5.1 交易和消息全局变量 105 4.5.2 tx.origin 和msg.sender的区别 105 4.6 加密全局变量 106 4.7 地址全局变量 107 4.8 合约全局变量 107 4.9 本章小结 108 第5章 表达式和控制结构 109 5.1 Solidity表达式 109 5.2 if决策控制 111 5.3 while循环 113 5.4 for循环 114 5.5 do...while循环 115 5.6 break语句 116 5.7 continue语句 117 5.8 return语句 118 5.9 本章小结 119 第6章 编写智能合约 121 6.1 智能合约 121 6.2 编写一个简单的合约 122 6.3 创建合约 123 6.3.1 使用new关键字 123 6.3.2 使用合约地址 124 6.4 构造函数 125 6.5 合约组合 126 6.6 继承 127 6.6.1 单继承 127 6.6.2 多级继承 129 6.6.3 分层继承 130 6.6.4 多重继承 130 6.7 封装 132 6.8 多态性 132 6.8.1 函数多态性 133 6.8.2 合约多态性 133 6.9 方法覆盖 135 6.10 抽象合约 136 6.11 接口 137 6.12 本章小结 139 第7章 函数、修改器和fallback函数 141 7.1 函数输入和输出 141 7.2 修改器 143 7.3 view函数、constant函数和pure函数 146 7.4 地址相关函数 148 7.4.1 send方法 149 7.4.2 transfer方法 151 7.4.3 call方法 151 7.4.4 callcode方法 154 7.4.5 delegatecall方法 154 7.5 fallback函数 154 7.6 本章小结 157 第8章 异常、事件与日志 159 8.1 错误处理 160 8.1.1 require语句 160 8.1.2 assert语句 162 8.1.3 revert语句 163 8.2 事件与日志 163 8.3 本章小结 167 第9章 Truffle基础与单元测试 169 9.1 应用程序开发生命周期管理 169 9.2 Truffle 170 9.3 使用Truffle进行开发 171 9.4 使用Truffle进行测试 176 9.5 本章小结 178 第10章 合约调试 179 10.1 调试 179 10.1.1 Remix编辑器 180 10.1.2 使用事件 183 10.2 使用Block Explorer 183 10.3 本章小结 186 |