个人简介

Echo Blog


江湖无名 安心练剑
  • Solidity-17-Contracts
    Contracts Solidity 中的契约类似于面向对象语言中的类。 它们在状态变量中包含持久数据,以及可以修改这些变量的函数。 在不同的合约(实例)上调用函数将执行 EVM 函数调用,从而切换上下文,使得调用合约中的状态变量不可访问。 任何事情发生都需要调用合约及其函数。 以太坊中没有“cron”概念来自动调用特定事件的函数。 创建合同 合约可以通过以太坊交易“从外部”创...
    2022-05-22 01:22:02 | Lang
  • Solidity-16-Expressions and Control Structures
    控制结构 从花括号语言中知道的大多数控制结构都可以在 Solidity 中使用: 有:if、else、while、do、for、break、continue、return,具有 C 或 JavaScript 中已知的常用语义。 Solidity 还支持 try/catch 语句形式的异常处理,但仅适用于外部函数调用和合约创建调用。 可以使用 revert 语句创建错误。 条件句不能省...
    2022-05-22 01:22:02 | Lang
  • Solidity-15-Units and Globally Available Variables
    以太单位 Ether Units 文字数字可以采用 wei、gwei 或 ether 的后缀来指定 Ether 的子面额,其中不带后缀的 Ether 数字被假定为 Wei。 assert(1 wei == 1); assert(1 gwei == 1e9); assert(1 ether == 1e18); 小面额后缀的唯一效果是乘以十的幂。 笔记 0.7.0 版中删除了...
    2022-05-22 01:22:02 | Lang
  • Solidity-14-Conversions between Elementary Types
    隐式转换 Implicit Conversions 在某些情况下,编译器会在赋值期间、将参数传递给函数以及应用运算符时自动应用隐式类型转换。 一般来说,如果在语义上有意义并且没有信息丢失,则值类型之间的隐式转换是可能的。 例如,uint8 可转换为 uint16,int128 可转换为 int256,但 int8 不可转换为 uint256,因为 uint256 不能保存 -1 等值。...
    2022-05-22 01:22:02 | Lang
  • Solidity-13-types Operators
    Operators 即使两个操作数的类型不同,也可以应用算术和位运算符。 例如,您可以计算 y = x + z,其中 x 是 uint8,z 的类型为 int32。在这些情况下,将使用以下机制来确定计算运算的类型(这在溢出的情况下很重要)和运算符结果的类型: 如果右操作数的类型可以隐式转换为左操作数的类型,则使用左操作数的类型, 如果左操作数的类型可...
    2022-05-22 01:22:02 | Lang
  • Solidity-12-types Mapping Types
    Mapping Types 映射类型使用语法映射(KeyType => ValueType),映射类型的变量使用语法映射(KeyType => ValueType)变量名声明。 KeyType 可以是任何内置值类型、字节、字符串或任何协定或枚举类型。不允许使用其他用户定义或复杂类型,例如映射、结构或数组类型。 ValueType 可以是任何类型,包括映射、数组和结构。 您可...
    2022-05-22 01:22:02 | Lang
  • Solidity-11-types Reference Types
    Reference Types 引用类型的值可以通过多个不同的名称进行修改。 将此与值类型进行对比,只要使用值类型的变量,您就会获得一个独立的副本。 因此,必须比值类型更仔细地处理引用类型。 目前,引用类型包括结构、数组和映射。 如果使用引用类型,则始终必须显式提供存储类型的数据区域:内存(其生命周期仅限于外部函数调用),存储(存储状态变量的位置,生命周期所在的位置) 仅限于合约的...
    2022-05-22 01:22:02 | Lang
  • Solidity-10-types Value Types
    Types Solidity 是一种静态类型语言,这意味着需要指定每个变量(状态和本地)的类型。 Solidity 提供了几种基本类型,它们可以组合成复杂类型。 此外,类型可以在包含运算符的表达式中相互交互。 有关各种运算符的快速参考,请参阅运算符的优先顺序。 Solidity 中不存在“未定义”或“空”值的概念,但新声明的变量始终具有取决于其类型的默认值。 要处理任何意外值,您...
    2022-05-22 01:22:02 | Lang