Solidity 合约
在 Solidity 中,合约类似于面向对象语言中的类。每个合约可以包含状态变量、函数、函数修饰符、事件、错误、结构体类型和枚举类型。合约还可以继承其他合约。
此外,Solidity 中还存在两种特殊类型的合约:库(libraries)和接口(interfaces)。
Solidity 合约结构
本文简要概述了 Solidity 合约的主要结构。
状态变量
状态变量是指那些值被永久存储在合约存储中的变量,或者是临时存储在瞬态存储中的变量,后者在每次交易结束时会被清除。
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.0 <0.9.0;
contract SimpleStorage {
uint storedData; // 状态变量
// ...
}
函数
函数是代码的可执行单元。函数通常定义在合约内,但也可以在合约外部定义。
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.1 <0.9.0;
contract SimpleAuction {