Subscribe to Novar
Receive the latest updates directly to your inbox.
Card Header

Solidity 课程 14: 常量

Novar
June 08
合约的状态变量可以声明为不可变常数,数值定义后不能再次编辑,可以节约gas fee。有两种定义命令,constant 和 immutable ,区别是
Card Header

Solidity 课程 12: 异常

Novar
June 07
solidity一个错误将撤消在交易期间对状态所做的所有改变。有三种抛出异常的方法:error,require和assert。
Card Header

Solidity 课程 11: 库

Novar
June 05
库与合约类似,它们只需要在特定的地址部署一次,并且它们的代码可以通过 EVM 的 DELEGATECALL (Homestead 之前使用 CALLCODE 关键字)特性进行重用。 这意味着如果库函数被调用,它的代码在调用合约的上下文中执行,即 this 指向调用合约,特别是可以访问调用合约的存储。
Card Header

Solidity 课程 11: 抽象合约和接口

Novar
June 01
如果合约内有函数没有被实现,那么合约就必须标记为抽象合约,符号是abstract。
Card Header

Solidity 课程 10: 继承

Novar
May 30
Solidity的继承(inheritance),包括简单继承,多重继承,以及修饰器(modifier)和构造函数(constructor)的继承。
Card Header

Solidity 课程 9: 事件

Novar
May 23
事件允许我们方便地使用 EVM 的日志基础设施。 我们可以先在 dapp 的用户界面中监听事件,然后在EVM 的日志机制中发射事件,从而在监听事件处调用 Javascript 回调函数。它具有两个特点:
Card Header

Solidity 课程 8: 修饰器

Novar
May 21
修饰器(modifier)是solidity特有的语法,类似于面向对象编程中的decorator,声明函数拥有的特性,并减少代码冗余。modifier的主要使用场景是运行函数前的检查,例如地址,变量,余额等。
Card Header

Solidity 课程 7: 构造函数

Novar
May 21
构造函数(constructor)是一种特殊的函数,每个合约只能定义一个构造函数,并在部署合约的时候自动运行一次。它可以用来初始化合约的一些参数,例如初始化合约的owner地址:
Card Header

Solidity 课程 6: 映射类型

Novar
May 18
映射(Mapping)就是key-value类似哈希表的储值类型,跟其他语言的map不同的是,solidity的mapping不可迭代,需要可迭代mapping可参考Iterable Mappings。