博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Solidity】2.合约的结构体 - 深入理解Solidity
阅读量:6623 次
发布时间:2019-06-25

本文共 1353 字,大约阅读时间需要 4 分钟。

索引

2 合约的结构体

Solidity的合约类似于面向对象语言的类。 每个合同都可以包含State Variables, Functions, Function Modifiers, Events, Structs TypesEnum Types的声明。 此外,合约可以继承其他合约。

状态变量

状态变量是永久存储在合约存储中的值。

pragma solidity ^0.4.0;contract SimpleStorage {    uint storedData; // 状态变量    // ...}

请参阅有关状态变量类型的“类型”部分,“可见性”和“获取器”,以获取可见性的可能选择。

函数 Functions

函数是一个代码合同中的可执行单元。

pragma solidity ^0.4.0;contract SimpleAuction {    function bid() payable { // 函数        // ...    }}

可以内部或外部发生,均有不同程度的知名度对其他合同()的。

函数修饰符 Function Modifiers

函数修饰符可用于以声明方式修改函数的语义(参见“契约”部分中的)。

pragma solidity ^0.4.11;contract Purchase {    address public seller;    modifier onlySeller() { // Modifier        require(msg.sender == seller);        _;    }    function abort() onlySeller { // 调用Modifier        // ...    }}

事件

事件是与EVM日志工具便捷接口。

pragma solidity ^0.4.0;contract SimpleAuction {    event HighestBidIncreased(address bidder, uint amount); // 事件    function bid() payable {        // ...        HighestBidIncreased(msg.sender, msg.value); // 触发事件    }}

请参阅合约中的部分,了解有关事件如何声明和可以在dapp内使用的信息。

结构类型

Structs是可以分组几个变量的自定义类型(请参阅类型部分中的)。

pragma solidity ^0.4.0;contract Ballot {    struct Voter { // 结构体        uint weight;        bool voted;        address delegate;        uint vote;    }}

枚举类型

枚举可用于创建具有有限值集的自定义类型(请参阅类型部分中的)。

pragma solidity ^0.4.0;contract Purchase {    enum State { Created, Locked, Inactive } // 枚举}

转载地址:http://ddxpo.baihongyu.com/

你可能感兴趣的文章
dropdownlist可以多选。类似的例子。。。
查看>>
Objective-C 内存管理
查看>>
Linux下rz,sz与ssh的配合使用
查看>>
pku 1054 The Troublesome Frog 暴力+剪枝
查看>>
串行,并行,并发
查看>>
webservice测试工具
查看>>
Porting .Net RSA xml keys to Java
查看>>
检测 nginx.conf 是否配置正确
查看>>
最长公共子序列|最长公共子串|最长重复子串|最长不重复子串|最长回文子串|最长递增子序列|最大子数组和...
查看>>
测试妹子的呐喊:为什么总是收不到推送?
查看>>
linux NFS
查看>>
Jquery DataTable基本使用
查看>>
leetcode 674. Longest Continuous Increasing Subsequence
查看>>
Extensions in UWP Community Toolkit - SurfaceDialTextbox
查看>>
Golang 语言的单元测试和性能测试(也叫 压力测试)
查看>>
Java中CAS详解
查看>>
Java Spring MVC 错误 及 常见问题 总结
查看>>
Linux系统实战项目——sudo日志审计
查看>>
Android Application Task Activities的关系
查看>>
浅谈CSS盒子模型
查看>>