3.2 智能合约的结构

合约就像一个类(class),其中包含状态变量(state variable)、函数(function)、函数修改器(function modifier)、事件(event)、结构(structure)和枚举(enum)。合约还支持继承,通过在编译时备份代码来实现。最后,合约还支 持多态。

下面来看一个智能合约的例子:

3.2 智能合约的结构

上述代码的工作原理如下:

1)使用contract关键字声明一个合约。

2)声明两个状态变量data和owner。data包含一些数据,owner包含所有者的以太坊钱包地址,即部署合约者的以太坊地址。

3)定义一个事件(event)。事件用于通知客户端。一旦data发生变化,将触发这个事件。所有事件都保存在区块链中。

4)定义一个函数修改器(function modifier)。修改器用于在执行一个函数之前自动检测条件。这里,修改器检测合约所有者是否在调用函数。如果不是,就抛出异常。

5)得到合约构造函数(constructor)。在部署合约时,调用构造函数。构造函数用于初始化状态变量。

6)定义两个方法。第一个方法用于得到data状态变量的值,第二个方法用于改变data的值。

在更深入地学习智能合约的函数之前,我们先来学习一些与Solidity有关的其他知识,然后再回到合约。


来源:我是码农,转载请保留出处和链接!

本文链接:http://www.54manong.com/?id=582

'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })();
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();