![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
solidity
李卓书
这个作者很懒,什么都没留下…
展开
-
solidity 异常处理
Solidity 是通过回退状态的方式来处理异常错误。发生异常时会撤消当前调用及其所有子调用所改变的状态,同时给调用者返回一个错误标识。常见的异常处理触发异常提供了revert,throw 来触发异常:传统处理异常的方式 if…throw 模式,即 if(msg.sender != owner) { throw; }等价于:require() 函数用于:revert() 函数用于 :assert() 函数用于:我们在当前合约发起对外部合约调用的话,如果外部合约调用执行失败被 revert,外部合约状态原创 2022-06-21 23:28:06 · 485 阅读 · 0 评论 -
solidity 合约继承
继承通过关键字 is 来实现,例如:访问权限1 子类不能访问父类的private的,其他的都可以访问,比如Public internal2 继承不允许函数或变量重名从 0.6 开始,solidity 引入了 abstract, virtual, override 几个关键字,用于重写函数。基类中可以包含没有实现代码的函数,也就是纯虚函数,那么基类必须声明为 abstract。示例以下:...原创 2022-06-21 23:18:18 · 350 阅读 · 0 评论 -
solidity 引用类型
声明数组成员lengthpush内存数组可以使用 new 关键字在内存中创建动态数组。与存储数组相反,不能通过设置 .length 成员来调整内存动态数组的长度。结构体映射_KeyType:可以是任何内置类型,或者 bytes 和 字符串。不允许使用引用类型或复杂对象。_ValueType: 可以是任何类型。映射可以视作哈希表 ,它们在实际的初始化过程中创建每个可能的 key,并将其映射到字节形式全是零的值:一个类型的 默认值。然而下面是映射与哈希表不同的地方:在映射中,实际原创 2022-06-21 23:08:38 · 190 阅读 · 0 评论 -
solidity 数据位置
说明:引用类型的数据进行复制移动等操作时需要消耗大量Gas,非常昂贵,所以使用它们时,必须考虑存储位置。例如,是保存在内存中,还是保存在EVM存储区中。数据位置1 状态变量总是存储在存储区中。此外,不能显式地标记状态变量的位置。2 值类型的局部变量存储在内存中。但是,对于引用类型,需要显式地指定数据位置。不能显式覆盖具有值类型的局部变量。3 外部函数的参数(不包括返回参数)存储在 calldata中。...原创 2022-06-21 00:16:09 · 2520 阅读 · 0 评论 -
solidity 循环语句
solidity 循环1 while2 do…while3 for注意:原创 2022-06-20 23:45:56 · 833 阅读 · 0 评论 -
solidity 运算符讲解
solidity 运算符1 算术2 比较3 逻辑4 位运算5 赋值6 条件原创 2022-06-20 23:41:47 · 769 阅读 · 0 评论 -
solidity 变量作用域
局部变量的作用域仅限于定义它们的函数,但是状态变量可以有三种作用域类型:原创 2022-06-20 23:32:17 · 187 阅读 · 0 评论 -
solidity 变量
solidity 变量例子1 状态变量2 局部变量3 全局变量这些是全局工作区中存在的特殊变量,提供有关区块链和交易属性的信息。注意:1 变量名区分大小写,比如Name和name是两个不同的变量。原创 2022-06-20 23:15:27 · 1775 阅读 · 0 评论 -
solidity 基础讲解
数据类型值类型、地址类型、引用类型1 值类型2 地址类型地址类型表示以太坊地址,长度为20字节。地址可以使用.balance方法获得余额,也可以使用.transfer方法将余额转到另一个地址。3 引用类型Solidity中,有一些数据类型由值类型组合而成,相比于简单的值类型,这些类型通常通过名称引用,被称为引用类型。引用类型包括:...原创 2022-06-20 23:01:34 · 1636 阅读 · 0 评论