区块链:单位(Units) 和 全局变量(Globally Available Variables)

2023-11-10

Ether Units

一个整数的后面可以跟一个单位,etherfinneyszabo或者wei

他们的单位换算如下:

1 ether = 1000 finney
1 ether = 1000000 szabo 1
ether = 10 ** 18 wei

Time Units

时间的单位有seconds, minutes, hours, days, weeksyears。换算如下:

1 == 1 seconds
1 minutes == 60 seconds
1 hours == 60 minutes
1 days == 24 hours
1 weeks == 7 days
1 years == 365 days

特殊的变量和函数和函数

有一些特殊的变量和函数存在于全局的命名空间以提供区块相关信息。

区块和交易属性

  • block.blockhash(uint blockNumber) returns (bytes32): 某个区块的区块链hash值
  • block.coinbase (address): 当前区块的挖矿地址
  • block.difficulty (uint): 当前区块的难度
  • block.gaslimit (uint): 当前区块的gaslimit
  • block.number (uint): 当前区块编号
  • block.timestamp (uint): 当前区块时间戳
  • msg.data (bytes): 参数
  • msg.gas (uint): 剩余的gas
  • msg.sender (address): 当前发送消息的地址
  • msg.sig (bytes4): 方法ID
  • msg.value (uint): 伴随消息附带的以太币数量
  • now (uint): 时间戳,等价于block.timestamp (uint)
  • tx.gasprice (uint): 交易的gas单价
  • tx.origin (address):交易发送地址

    错误处理

  • assert(bool condition):不满足条件,将抛出异常

  • require(bool condition):不满足条件,将抛出异常
  • revert() 抛出异常

在Solidity 0.4.10版本之前,使用throw来处理异常。如下所示:

contract HasAnOwner {

    address owner;

    function useSuperPowers(){ 
        if (msg.sender != owner) { 
            throw; 
        }
    }
}

Solidity 0.4.10版本之后,我们通常如下使用:

  • if(msg.sender != owner) { revert(); }
  • assert(msg.sender == owner);
  • require(msg.sender == owner);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

区块链:单位(Units) 和 全局变量(Globally Available Variables) 的相关文章

随机推荐

  • javascript的比较运算符

    比较运算符的隐士转换 这里只比较 字符串和 数字 对象的比较没有意义 一般返回的是false 234 lt 78 true 234 lt 78 false 234 lt 78 false 总结 只有当 comparison operator
  • Qt中的ui指针和this指针

    本博客中关于C 和QT 无特别说明开发环境为 Visual studio 2013 QT为5 9 9 特此说明 谨慎参考 希望能帮助到爱好者 首先看ui指针的定义 在mainwindow h中 private Ui MainWindow u
  • VisualStudio 无法登录

    文章转载自 https cloud tencent com developer article 1342617 如果遇到 visualStudio 无法登陆 可以看下我的方法 可能有用 尝试关闭代理 打开设置 网络 代理 关了它 试试 如果
  • zookeeper基本概念及使用场景

    zookeeper基本概念及使用场景 Zookeeper作为一种协调分布式应用高性能的调度服务 在ZooKeeper中 节点类型可以分为 持久节点 PERSISTENT 临时节点 EPHEMERAL 时序节点 SEQUENTIAL 具体在节
  • 机器学习项目的实验方法

    发现对于一些机器学习项目 在项目进行中往往会直接就开始编码实现 而没有一套完整的方法论和有实操性的流程 经过一些粗浅的研究 下面写出一些对于此的部分思考 或有参考借鉴之用 实验开始前 需要清楚研究什么 如何收集数据 打算怎样分析 1 研究目
  • Crunchfish发布XR Skeleton手势交互解决方案

    转自 https baijiahao baidu com s id 1677811512042412943 wfr spider for pc 移动交互解决方案开发商Crunchfish日前发布了名为XR Skeleton的手势控制技术 只
  • HttpClient的”javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated”异常

    在开发https应用时 你的测试服务器常常没有一个 有效的 SSL证书 在你的客户端连接测试服务器时 如下的异常会被抛出 javax net ssl SSLPeerUnverifiedException peer not authentic
  • CDN方式使用Vue,VantUI组件方式

    代码示例
  • 这个小工具竟然可以让我保持健康

    Part1背景 我有个同事今天跟我说 他总是忘记喝水 这可怎么办 作为程序员的我们 本就每天久坐缺乏锻炼 如果再忘记喝水 那将会带来多么严重的后果 所以我决定为他做一个小工具来提醒他定时喝水 活动 Part2前期准备 1下载依赖软件 pip
  • python 用逐步回归筛选变量

    在回归分析中 影响因变量y的因素很多 而有些自变量的对目标变量y的影响程度不同 为了建立一个相对最优的回归方程 我们需要筛选掉对目标变量y影响不大的变量 这就涉及到了变量选择问题 逐步回归是通过假设检验的方法来筛选强特征 但如果直接用特征变
  • Springboot线上环境彻底关闭Swagger-UI

    文章目录 概要 整体架构流程 技术细节 小结 概要 Springboot线上环境彻底关闭Swagger UI 整体架构流程 1 SwaggerConfig使用 Profile排除线上环境其他环境生效 2 创建一个控制类使用 Profile仅
  • 一、绘制不同类别特征均值标准差直方图

    1 绘制不同类别植被指数均值标准差直方图 数据类型 不同类别样本植被指数 实验目的 1 计算不同类别各指数的均值和标准差 1 1读取表格中的数据 1 2预处理数据 提取不同类别指数 归一化指数 计算均值标准差 1 3画图 import pa
  • fhog资料整理

    fast hog资料整理 https github com joaofaro FHOG https github com ppaanngggg fhog 这个有两种 1 DPM的 Mat tmp image image convertTo
  • 如何读取字符串中的空格

    根据前面的学习 我们可以知道scanf读取到空格 回车 tab会停止读取 后面的内容会交给后面的scanf读取 那么问题来了 我们如何让scanf语句把字符串中的空格也读取呢 在scanf中使用 参数 这个参数的作用就是读取一个字符集合 中
  • Python+Selenium框架篇1-介绍unittest单元测试框架

    本文介绍什么是unittest单元测试框架 1 什么是unittest框架 unittest框架 原名PyUnit框架 是Python语言自带的单元测试框架 Python2 1及其之后的版本已将unittest作为一个标准模块放入Pytho
  • 【PC】响应式HTML5网页项目

    快速完成网页设计 10个顶尖响应式HTML5网页模板助你一臂之力 为了寻找一个优质的网页模板 网页设计师和开发者往往可能会花上大半天的时间 不过幸运的是 现在的网页设计师和开发人员已经开始共享HTML5 Bootstrap和CSS3中的免费
  • untiy 监听屏幕点击 物体(实现)

    第一种方式 1 百度的第三方法 using System Collections using System Collections Generic using UnityEngine using UnityEngine UI public
  • linux下nginx+php安装

    初始nginx php环境文件复制安装 需要复制的文件列表 usr local nginx usr local php usr local php 5 4 35 data mexue apps mysql etc init d mysqld
  • C#反射:GetManifestResourceStream

    public virtual Stream GetManifestResourceStream string name 参数 name 类型 System String 所请求的清单资源的名称 区分大小写 name格式 项目名称 文件名 通
  • 区块链:单位(Units) 和 全局变量(Globally Available Variables)

    Ether Units 一个整数的后面可以跟一个单位 ether finney szabo或者wei 他们的单位换算如下 1 ether 1000 finney 1 ether 1000000 szabo 1 ether 10 18 wei