合约就像一个类(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 }); })();

相关文章:

  • 2021-12-03
  • 2021-12-27
  • 2021-10-20
  • 2021-10-29
  • 2021-07-25
  • 2021-12-23
  • 2021-04-14
  • 2021-07-17
猜你喜欢
  • 2021-04-07
  • 2021-09-27
  • 2022-12-23
  • 2021-04-30
  • 2021-08-08
相关资源
相似解决方案