硅谷拍卖系统去中心化ebay 5_2_solidity深入讲解.pdfVIP

硅谷拍卖系统去中心化ebay 5_2_solidity深入讲解.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Solidity 深入理解 2018.10 Solidity源文件布局 pragma (版本杂注) • 源文件可以被版本 杂注pragma所注解,表明要求的编译 器版本 • 例如:pragma solidity ^0.4.0; • 源文件将既不允许低于 0.4.0 版本的编译器编译, 也不允 许高于(包含) 0.5.0 版本的编译器编译(第二个条件因 使用 ^ 被添加) import (导入其它源文件) • Solidity 所支持的导入语句import,语法同J aScript (从 ES6 起)非常类似 Solidity源文件布局-- import import filename; • 从“filename”中导入所有的全局符号到当前全局作用域中 import * as symbolName from filename; • 创建一个新的全局符号 symbolName ,其成员均来自 “filename” 中全局符号 import {symbol1 as alias, symbol2} from filename; • 创建新的全局符号alias 和 symbol2 ,分别从filename 引 用 symbol1 和 symbol2 import filename as symbolName; • 这条语句等同于 import * as symbolName from filename; Solidity值类型 • 布尔(bool):可能的取值为字符常量值 true 或 false • 整型(int/uint):分别表示有符号和无符号的不同位数的整型变量; 支持 关键字 uint8 到 uint256 (无符号,从8 位到 256 位)以及 int8 到 int256, 以 8 位为步长递增 • 定长浮点型(fixed / ufixed): 表示各种大小的有符号和无符号的定长浮 点型;在关键字 ufixedMxN 和 fixedMxN 中,M 表示该类型占用的位数, N 表示可用的小数位数 • 地址(address):存储一个 20 字节的值(以太坊地址大小) • 定长字节数组:关键字有 bytes1, bytes2, bytes3, ...,bytes32 • 枚举(enum):一种用户可以定义类型的方法,与C语言类似,默认从0 开始递增,一般用来模拟合约的状态 • 函数(function):一种表示函数的类型 Solidity 类型 数组(Array) • 数组可以在 时指定长度(定长数组),也可以动态调整大小(变 长数组、动态数组) • 对于存储型(storage)的数组来说,元素类型可以是任意的(即元 素也可以是数组类型,映射类型或者结构体);对于内存型 (memory)的数组来说,元素类型 是映射(mapping)类型 结构(Struct) • Solidity 支持通过构造结构体的形式定义新的类型 映射(Mapping) • 映射可以视作哈希表 ,在实际的初始化过程中创建每个可能的key, 并将其映射到字节形式全是零的值(类型默认值) Solidity地址类型 address • 地址类型存储一个 20 字节的值(以太坊地址的大小);地址类型也有成员 变量,并作为所有合约的基础 address payable (v0.5.0引入) • 与地址类型基本相同,不过多出了 transfer 和 send 两个成员变量 两者区别和转换 • Payable 地址是可以发送 ether 的地址,而普通 address • 允许从 payable address 到 address 的隐式转换,而反过来的直接转换是不 可能的(唯一方法是通过uint160来进行中间转换) • 从0.5.0版本起,合约不再是从地址类型派生而来,但如果它有payable的回 退函数,那同样可以显式转换为 address 或者 address payable 类型 地址类

文档评论(0)

159****9610 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6044052142000020

1亿VIP精品文档

相关文档