第1章 一台全球计算机
以太坊 历史 以太坊 发展阶段 以太坊 特色第2章 账户是什么
以太坊 基础知识 Keystore 与私钥保存 以太坊 常用钱包 以太坊 EIP-55 账户地址第3章 交易是驱动力
以太坊 交易是驱动力 以太坊 交易发送 以太坊 交易方法 以太坊 交易生命周期 共识与工作量证明 矿工与挖矿奖励第4章 数据结构
以太坊 数据结构 以太坊 Radix树 以太坊 Merkle树 Merkle Patricia树 以太坊 RLP编码 以太坊 状态树 以太坊 交易树 以太坊 收据树 以太坊 区块第5章 构建私链
以太坊 安装geth 以太坊 启动私链 以太坊 接收挖矿奖励 以太坊 转账与收款第6章 部署智能合约
以太坊 部署智能合约 以太坊 什么是智能合约 以太坊 安装编译器 Solc 编译智能合约 智能合约发布准备 部署智能合约 调用智能合约第7章 以太坊虚拟机
以太坊虚拟机 虚拟机的执行结果 虚拟机的执行资源 合约调用合约 虚拟机的输入输出 Gas 花费与退回 虚拟机指令集第8章 Solidity 语法
Solidity 语法练习 Solidity 基础语法 Solidity 语法进阶 Solidity 高级语法 Solidity 安全第9章 Truffle 开发
Truffle 合约开发 编译、测试工具安装 Truffle 启动样例 Truffle ERC20合约 Truffle ERC20合约测试Truffle 冷知识
Truffle 冷知识 短地址攻击 比特币的区块 以太坊与比特币账户的区别 “不可能的三角”问题 ETHASH 挖矿算法第1章 一台全球计算机
以太坊 历史 以太坊 发展阶段 以太坊 特色第2章 账户是什么
以太坊 基础知识 Keystore 与私钥保存 以太坊 常用钱包 以太坊 EIP-55 账户地址第3章 交易是驱动力
以太坊 交易是驱动力 以太坊 交易发送 以太坊 交易方法 以太坊 交易生命周期 共识与工作量证明 矿工与挖矿奖励第4章 数据结构
以太坊 数据结构 以太坊 Radix树 以太坊 Merkle树 Merkle Patricia树 以太坊 RLP编码 以太坊 状态树 以太坊 交易树 以太坊 收据树 以太坊 区块第5章 构建私链
以太坊 安装geth 以太坊 启动私链 以太坊 接收挖矿奖励 以太坊 转账与收款第6章 部署智能合约
以太坊 部署智能合约 以太坊 什么是智能合约 以太坊 安装编译器 Solc 编译智能合约 智能合约发布准备 部署智能合约 调用智能合约第7章 以太坊虚拟机
以太坊虚拟机 虚拟机的执行结果 虚拟机的执行资源 合约调用合约 虚拟机的输入输出 Gas 花费与退回 虚拟机指令集第8章 Solidity 语法
Solidity 语法练习 Solidity 基础语法 Solidity 语法进阶 Solidity 高级语法 Solidity 安全第9章 Truffle 开发
Truffle 合约开发 编译、测试工具安装 Truffle 启动样例 Truffle ERC20合约 Truffle ERC20合约测试Truffle 冷知识
Truffle 冷知识 短地址攻击 比特币的区块 以太坊与比特币账户的区别 “不可能的三角”问题 ETHASH 挖矿算法Solidity 语法练习
以太坊的学习,总是要接触智能合约的编写,目前Solidity语言最为主流。
这门语言和 JavaScript以及Python很像,又保留了强类型语言所特有的编译特性,虽不是一门有悠久历史的语言,却也匠心独具。
严格而言,任何有能力编译为以太坊虚拟机能运行的字节码的语言都可以选用作为编写智能合约的源语言,所以语言的选择也并非固定在 Solidity 不可。当下也有很多的编译器将例如 Go 语言的代码编译为以太坊虚拟机字节码。
每打开一本新的编程书,伴随的总是对一门语言的学习。笔者过去每次都是先摸索着自学,再深入到实用框架搭建项目,最后在工作中升华知识点。在经历这些知识学习时,总对书目的结构不甚满意,往往是学习了一串枯燥的语法以后不操练,整本书看下来,记住的知识点却寥寥。
本章将改变这个现状,带领大家对于 Solidity 语言进行“互动”学习。在学习的过程欢迎读者在本书的“小练习”的模块上涂涂画画增强理解。每个知识点都会滚动复习前面的一些小知识点,帮助读者深入记忆这些繁琐的细节。
本章除了讲述最前沿的Solidity语法,还穿插有实践中常见的安全实践举例。
- 基础概念
- 没有浮点数运算
- 合约基础
- 变量类型
- 运算符号
- 结构体 Struct
- 数组array
- 函数申明
- 类型转换与内置函数
- 合约与事件
- 语法进阶
- 数据结构:map
- 环境变量:msg.sender
- require还是assert?
- 继承和引入
- 省钱妙招:内存变量
- 接口与合约调用
- 多返回值
- 高级语法和概念
- Contract 构造函数
- Ownable控制
- Pausable控制
- 省钱妙招:struct 结构体
- 时间单位表达
- 带参数的函数修饰符
- for 循环
- 合约收款:payable修饰符
- 支付费用:transfer方法
- 小结
下一章:Solidity 基础语法
本节将重点介绍 Solidity 语法的基础,从最基本的合约结构和函数变量讲起。知识点都不复杂,读者只要带着纸笔填写练习就好,为后面的章节学习打下良好的基础。没有浮点数运算以太坊虚拟机给程序员的第一个惊(jing ...
AI 中文社