本节将列出一些陷阱和一般性的安全建议: 如 重入问题,gas 限制,tx.origin
本指南旨在约定 solidity 代码的编码规范。本指南是不断变化演进的,旧的、过时的编码规范会被淘汰, 而新的、有用的规范会被添加进来。
在 以太坊Ethereum 生态系统中, 应用二进制接口Application Binary Interface(ABI) 是从区块链外部与合约进行交互以及合约与合约间进行交互的一种标准方式。
Solidity 定义了一种汇编语言,在没有 Solidity 的情况下也可以使用。汇编语言也可以嵌入到 Solidity 源代码中当作“内联汇编”使用。
Solidity 合约类似于面向对象语言中的类。文档介绍:创建合约、函数可见性、函数修饰器、事件、继承、抽象合约、接口、库、Using For。
JavaScript 中的大部分控制结构在 Solidity 中都是可用的,除了 switch 和 goto。 因此 Solidity 中有 if,else,while,do,for,break,continue,return,? : 这些与在 C 或者 JavaScript 中表达相同语义的关键词。
Solidity 在全局命名空间中已经存在了(预设了)一些特殊的变量和函数,他们主要用来提供关于区块链的信息或一些通用的工具函数。
以太币Ether 单位, wei , finney ,szabo, ether 秒是缺省时间单位, 数字后面带有 seconds、 minutes、 hours、 days 和 weeks 的可以进行换算
Solidity 是一种静态类型语言,这意味着每个变量(状态变量和局部变量)都需要在编译时指定变量的类型。
每个合约中可以包含 状态变量、 函数、 函数 、事件 Event、 结构体、 和 枚举类型 的声明,且合约可以从其他合约继承。 还有一些特殊的合约,如: 库 和 接口.