Solidity官方文档学习笔记(2)
2017-04-17 09:16
260 查看
智能合约基本要素概览
合约类似面向对象语言中的类。支持继承。
每个合约中可包含状态变量(State Variables),函数(Functions),函数修饰符(Function Modifiers),事件(Events),结构类型(Structs Types)和枚举类型(Enum Types)。
状态变量(State Variables)
变量值会永久存储在合约的存储空间// simple store example contract simpleStorage{ uint valueStore; //state variable }
详情见类型(Types)章节,关于所有支持的类型和变量相关的可见性(Visibility and Accessors)。
函数(Functions)
智能合约中的一个可执行单元。contract simpleMath{ //Simple add function,try a divide action? function add(uint x, uint y) returns (uint z){ z = x + y; } }上述示例展示了一个简单的加法函数。
函数调用可以设置为内部(Internal)的和外部(External)的。同时对于其它合同的不同级别的可见性和访问控制(Visibility and Accessors)。具体的情况详见后面类型中关于函数的内容。
函数修饰符(Function Modifiers)
函数修饰符用于增强语义。事件(Events)
事件是以太坊虚拟机(EVM)日志基础设施提供的一个便利接口。用于获取当前发生的事件。contract SimpleAuction { event aNewHigherBid(address bidder, uint amount); function bid(uint bidValue) external { aNewHigherBid(msg.sender, msg.value); } }关于事件如何声明和使用。
结构体类型(Structs Types)
自定义的将几个变量组合在一起形成的类型。contract Company { //user defined `Employee` struct type //group with serveral variables struct employee{ string name; uint age; uint salary; } //User defined `manager` struct type //group with serveral variables struct manager{ employee employ; string title; } }
枚举类型(Enum)
特殊的自定义类型,类型的所有值可枚举的情况。contract Home { enum Switch{On,Off} }
附录学习参考链接: http://wiki.jikexueyuan.com/project/solidity-zh/introduction-smart-contracts.html http://www.tryblockchain.org/智能合约要素.html
相关文章推荐
- 学习Solidity官方文档的笔记一
- kafka官方文档学习笔记1--基本概念了解
- 【android-async-http】官方文档学习笔记
- sklearn官方文档学习笔记 管道和特征联合(Pipeline and FeatureUnion):组合估计器
- xtrabackup官方文档学习笔记【全备部分】
- ES权威指南[官方文档学习笔记]-8
- ES权威指南[官方文档学习笔记]-42 Distributed document store
- ES权威指南[官方文档学习笔记]-34 Creating a new document
- ES权威指南[官方文档学习笔记]-26 Coping with failure
- ES权威指南[官方文档学习笔记]-18 Distributed nature
- ES权威指南[官方文档学习笔记]-55 Exact values vs. Full text
- ES权威指南[官方文档学习笔记]-47 Partial updates to a document
- Spark监控官方文档学习笔记
- Log4j2官方文档翻译、学习笔记之三——Layouts的分类及常用类型示例
- ios学习笔记第四天之官方文档总结
- spring 官方文档,学习笔记
- ES权威指南[官方文档学习笔记]-56 Inverted index
- tensorflow学习笔记十六:tensorflow官方文档学习 Image Recognition(Inception v3模型)
- Kafka 官方文档学习笔记 -- introduction篇
- MySQL官方参考文档学习笔记——第3章