首页 > 代码库 > Solidity编程 四 之 智能合约的结构
Solidity编程 四 之 智能合约的结构
Solidity的智能合约和面向对象语言中的类很相似。每个智能合约可以包含的元素有:state变量的定义,方法,函数修改器,事件,结构类型以及枚举类型。同时合约可以继承于另外一个合约
state变量
Solidity里的state变量表示的是永久的存储在合约的存储中。
pragma solidity ^0.4.0;contract SimpleStorage { uint storedData; // State variable // ...}
方法
方法是合约里的可执行单元。方法可以被合约内部或是外部(另外一个合约)调用,对于其他合约访问权限,可以设置不同的可见性。
pragma solidity ^0.4.0;contract SimpleAuction { function bid() payable { // Function // ... }}
方法修改器
方法修改器通过声明的方式来修改方法的语法。
pragma solidity ^0.4.11;contract Purchase { address public seller; modifier onlySeller() { // Modifier require(msg.sender == seller); _; } function abort() onlySeller { // Modifier usage // ... }}
事件
事件是作为以太坊虚拟机上的记录工具,提供了方便的接口,
pragma solidity ^0.4.0;contract SimpleAuction { event HighestBidIncreased(address bidder, uint amount); // Event function bid() payable { // ... HighestBidIncreased(msg.sender, msg.value); // Triggering event }}
结构类型
结构是一种常用的数据结构,可以很方便的把多种变量组合在一起
pragma solidity ^0.4.0;contract Ballot { struct Voter { // Struct uint weight; bool voted; address delegate; uint vote; }}
枚举类型
枚举用于创建一组有限的值的集合
pragma solidity ^0.4.0;contract Purchase { enum State { Created, Locked, Inactive } // Enum}
Solidity编程 四 之 智能合约的结构
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。