Solidity翻译笔记2-合约的结构

合约的结构

状态变量

是永久存储于合约之中的值.

函数

合约中可运行的计算单元.

修饰符

修饰符通过声明的方式修改函数语义.

感觉和 AOP 编程很像.

事件

事件是实现 EVM 的日志功能的一个方便的接口.

结构体

1
2
3
4
5
6
struct Doc { // 结构体
uint weight;
bool voted;
address delegate;
uint vote;
}

枚举

enum State { Created, Locked, Inactive }

合约参考代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
pragma solidity ^0.4.0;

event buy(address source, uint amount); // 事件

modifier onlySeller() { // 修饰符
require(msg.sender == seller);
_;
}

contract SimpleStorage {
uint storedData; // 状态变量

enum State { Created, Locked, Inactive } // 枚举

struct Doc { // 结构体
uint weight;
bool voted;
address delegate;
uint vote;
}

function bid() public payable onlySeller { // 函数
buy(msg.sender, msg.value); // 触发事件
}
}
Donate - Support to make this site better.
捐助 - 支持我让我做得更好.