Solidity之旅(七)单位以及全局变量

2023-12-16

​01

以太币单位(Ether)

甭管是虚拟货币还是现实中的“稳定币”,他们都有各自的货币单位。当然咯,作为以太坊区块链上交易的虚拟货币以太坊也是有属于自己的那一套货币单位的。

而目前以太币(Ether)主要分为这三个:wei、gwei以及ether。或许您之前还见过 finney 和 szabo,但这两个早在solidity 0.7.0就被删除了,而gwei却是solidity 0.6.11新添加的!

使用起来很容易,便是在数字后边跟上这些以太币单位,当然,数字与以太币单位之间需要空格隔开的,这一点想必您应该是清楚的吧!

若没加以太币单位,那么它缺省为wei。

assert(1 wei == 1);assert(1 gwei == 1e9);assert(1 ether == 1e18);

关于assert的用法,我们后续会讲到,可以理解为断言,用于判断表达式是否为true,反之则抛出错误!

02

时间单位

说到时间单位,您肯定会想到生活中的时(hour)、分(minute)、秒(second)以及天(day)、周(week)。

Solidity时间单位有:seconds、minutes、hours、days和weeks,seconds是时间的缺省单位。

早期版本(solidity 0.5.0之前但不包括)还有一个years用来表示年的时间,由于闰年的缘故,便废除了。

  • 1 == 1 seconds

  • 1 minutes == 60 seconds

  • 1 hours == 60 minutes

  • 1 days == 24 hours

  • 1 weeks == 7 days

uint today = 今天的时间戳;uint tomorrow = today + 1 days;

03

特殊变量(全局变量)

它们是Solidity在全局命名空间 预设的一些变量和函数,用于获取区块链信息和一些通用的工具函数。

04

区块和交易属性

blockhash(uint blockNumber) returns (bytes32):指定区块的区块哈希 —— 仅可用于最新的256个区块且不包括当前区块,否则返回0 。

  • block.basefee(uint):当前区块的基础费用

  • block.chainid(uint):当前链id

  • block.coinbase(address):挖出当前区块的矿工地址

  • block.difficulty(uint):当前区块难度

  • block.gaslimit(uint):当前区块gas限额

  • block.number(uint):当前区块号

  • block.timestamp(uint):自unix epoch起始当前区块以秒计的时间戳

  • gasleft() returns(uint256):剩余的gas

  • msg.data(bytes):完整的calldata

  • msg.sender(address):消息发送者(当前调用)

  • msg.sig(bytes4):calldata的前4字节(也就是函数标识符)

  • msg.value(uint):随消息发送的wei的数量

  • tx.gasprice(uint):交易的gas价格

  • tx.origin(address):交易发起者(完全的调用链)

不要依赖block.timestamp和blockhash产生随机数,除非你明确知道自己做的用意。

时间戳和区块哈希在一定程度上都可能受到挖矿矿工影响。例如,挖矿社区中的恶意矿工可以用某个给定的哈希来运行赌场合约的payout函数,而如果他们没收到钱,还可以用一个不同的哈希重新尝试。

当前区块的时间戳必须严格大于最后一个区块的时间戳,但这里能确保也需要它是在权威链上的两个连续区块。

在Solidity 0.7.0, now(block.timestamp的别名)被移除了。

版权声明:本文为CSDN博主「甄齐才」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:

https://blog.csdn.net/coco2d_x2014/article/details/128311510

想学习更多有关区块链的文章请关注微信公众号:BSN研习社

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

Solidity之旅(七)单位以及全局变量 的相关文章

  • 荐读

    本文转自 链闻 ChainNews 作者 Karen 虽然区块链技术诞生至今不过短短十余年 但是东西方天然的文化差异在加密世界中同样留下了一些痕迹 当社交媒体上关于 东方区块链 只关心币价 利益和投机而只有 西方区块链 才关心底层技术的革新
  • Gikee 大数据

    据Gikee数据显示 今日13 58分 地址 1MAhRt279uYmVC1dUxKR6dWwEULBJT34Nh 向地址 1Fc4QQu6nEc4snAe4HAb4Kryd8koH89pYk 转了34010个BTC 价值约2 17亿美元
  • 以太坊区块链学习之在私链上部署合约

    上一篇博客介绍了如何搭建私链并在私链上创建账户 挖矿 查看余额 本篇将介绍在私链上部署合约并与之交互 本篇开发环境为MacOS 10 12 建议读者使用macOS系统或者Ubuntu系统 第一步 进入geth客户端 启动私链 进入geth客
  • 期货开户手续费的组成和收费模式

    期货公司的费用 公开透明 不会私自提高费率 A级别的期货公司 不会私自提高期货投资者的交易费率 不会私自提高期货投资者的保证金比例 说一下投资者最关系的费率问题 期货投资交易的手续费是由两部分组成 1 交易所手续费 这个是固定标准也是市场上
  • 巴比特

    摘要 3月15日凌晨 OpenAI在官网上宣告了多模态大模型GPT 4的诞生 GPT 4 实现了以下几个方面的飞跃式提升 强大的识图能力 文字输入限制提升至 2 5 万字 回答准确性显著提高 能够生成歌词 创意文本 实现风格变化 GPT 4
  • 区块链程序要怎么去测试?

    区块链程序开发越来越多 区块链怎么做测试 让大家很好奇 与传统测试不同的是区块链系统边界模糊 不管是是独立的应用程序 还是客户端 服务器模式的应用程序 传统软件都具备明显的系统边界 可以通过UI用户界面或者客户端去进行测试 区块链底层则不同
  • Go语言实现区块链与加密货币-Part3(交易优化,单机模拟多节点通信)

    交易 二 在这个系列文章的一开始 我们就提到了 区块链是一个分布式数据库 不过在之前的文章中 我们选择性地跳过了 分布式 这个部分 而是将注意力都放到了 数据库 部分 到目前为止 我们几乎已经实现了一个区块链数据库的所有元素 今天 我们将会
  • 两万字整理Fabric(超级账本) 配置文件 掌握了它就掌握了Fabric的核心

    导语 文章没有重复的地方 没有废话 如果能帮助到你 那是我的荣幸 记得一键三连哟 Fabric 配置文件详解 一 四个核心配置文件 二 Fabric 的核心配置文件 三 网络启动步骤 1 生成认证证书 crypto config yaml
  • 区块链技术是如何应用到版权维护上?

    随着视频和音乐行业的迅速发展 数字出版已经形成完整的产业链 带来一些可观的收入 但是也伴随侵权的现象发生 那么区块链技术怎么运用到作品版权保护上呢 1 时间戳 我们知道区块链有一个 时间戳 这个可信时间戳由权威机构签发 能证明数据电文在一个
  • 不要向全网放通你的ETH系列节点的rpc接口访问权限!!!

    北京时间 2021年 8月 27 日 20 点 50 分左右 区块高度 13107518 一个共识漏洞 利用了 geth v1 10 8 中修复的共识漏洞 袭击了以太坊主网 以太坊因遭到攻击而导致分叉 攻击的根本原因在于 Geth 旧版本在
  • 区块链数据的存储和更新

    目录 1 引言 2 主要流程 2 1数据库读取 2 1 1 从数据库加载块数据 2 1 2从数据库读取账户信息 2 2 区块链数据更新与回滚 2 2 1 交易数据 2 2 2 块数据 1 引言 在第一篇文章里我们从静态的角度讲解了以太坊的数
  • AWS动手实验 - 创建一个Web3网站

    实验操作和录播 亚马逊云科技开发者社区 web3 dApp demo README CN md at main Chen188 web3 dApp demo GitHub 注意事项 按照操作手册进行即可 需要注意到的几个地方 1 EC2 的
  • "我为区块链赋能实体经济代言"第二批代言人:复旦大学张江研究院教授陈文君

    我为区块链赋能实体经济代言 推出以来 颇受行业关注 为进一步规范行业发展 落实区块链赋能实体经济的目标 为行业发展 正本清源而发声 新一轮的 我为区块链赋能实体经济代言 于9月3日重磅启动 我为区块链赋能实体经济代言100人第二批 第3位代
  • 使用web3和infura开发以太坊ethereum区块链

    web3 Github https github com ethereum web3 js web3 js是以太坊提供的一个Javascript库 它封装了以太坊的RPC通信API 提供了一系列与区块链交互方法 使js与以太坊交互变得简单
  • 区块链交易平台服务器该怎么选

    区块链交易平台服务器该怎么选 随着互联网技术的发展 区块链也发展成为一种潮流 越来越多的人加入到区块链行业中来 尤其是区块链交易平台 但也有很多人不了解区块链对服务器的要求 那么我们就要好好说说搭建区块链交易平台服务器该怎么选 1 区块链交
  • 《开箱元宇宙》:Madballs 解锁炫酷新境界,人物化身系列大卖

    你是否曾想过 元宇宙是如何融入世界上最具代表性的品牌和名人的战略中的 在本期的 开箱元宇宙 系列中 我们与 Madballs 的战略顾问 Derek Roberto 一起聊聊 Madballs 如何在 90 分钟内售罄 2 000 个人物化
  • 凌晨!比特币突破4万美元,本轮上涨分析与未来展望!

    比特币在上周五 1日 成功突破38000美元大关后 就持续震荡走高 在今晨06 30左右 更是一举突破4万大关 最高来到41750美元 再度刷下2023年新高 以太坊 ETH 在差不多同样时间 最高来到2265美元 刷新年内新高 近24小时
  • 什么是虚值期权?什么是深度虚值期权?

    在期权市场里有一种合约的价格往往比较便宜 它就是虚值期权 也是最受欢迎的期权之一 虚值期权也就是高杠杆和波动被世人所爱 久闻的一日192倍行情就是出自于虚值期权 下文科普什么是虚值期权 什么是深度虚值期权 一 虚值期权是什么 虚值合约因为价
  • NFTScan | 01.01~01.07 NFT 市场热点汇总

    欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总 周期 2024 01 01 2024 01 07 NFT Hot News 01 空投 Mint Blockchain 将于 2024 年 1 月 10 号
  • 期货和期权哪个风险更大?有哪些相同和不同的地方?

    期货和期权这两个都是高风险 高收益的投资工具是两个相同的部分 而期货呢是保证金交易理论上亏损是无限的 而期权呢买入期权的话最大亏损也就是权利金 这个是两者的最大区别 下文科普期货和期权哪个风险更大 有哪些相同和不同的地方 本文来自 期权酱

随机推荐

  • Redis基础系列-持久化

    Redis基础系列 持久化 文章目录 Redis基础系列 持久化 1 什么是持久化 2 为什么要持久化 3 持久化的两种方式 3 1 持久化方式1 RDB redis默认持久化方式
  • 毕业设计|Python网络爬虫与推荐算法的新闻推荐平台

    作者简介 Java领域优质创作者 CSDN博客专家 CSDN内容合伙人 掘金特邀作者 阿里云博客专家 51CTO特邀作者 多年架构师设计经验 腾讯课堂常驻讲师 主要内容 Java项目 Python项目 前端项目 人工智能与大数据 简历模板
  • 针对企业数字化转型有哪些建议?

    聊起数字化转型 大部分亲历者感受都是一样的 痛 难 贵 痛在哪儿 战略部署痛 难在哪儿 能力建设难 贵在哪儿 价值显现贵 战略部署考验企业一把手的远见和魄力 能力建设考验员工的数字化素养和学习能力 价值显现则考验企业真金白金砸钱的能力 那么
  • 期末备考 |《计算机网络》期末备考资料包来啦!

    写在前面 不知不觉又到了学期的末尾 不知道各位计算机er的 专业课复习得怎么样了呢 为了帮助大家更好地 备战期末 从今天开始 岛主将持续为大家更新 计算机期末备考资料 为同学们的绩点护航 今天岛主为大家带来的是 计算机网络 期末备考资料包
  • CS保研er寒假有必要实习吗?做哪些实习比较好?

    写在前面 随着时间来到12月 也意味 离寒假已经不远了 许多计算机er忙了一学期已经开始憧憬寒假的生活 但也有一部分人没有选择放松 而是做好了规划准备实习 那么 对于计算机er 参加实习对保研吗 做哪些实习更好呢 今天岛主就来跟大家聊一聊
  • QTNet:最新时序融合新方案!点云、图像、多模态检测器全适用(NeurIPS 2023)...

    点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 gt gt 点击进入 自动驾驶之心 多传感器融合 技术交流群 论文作者 Jinghua Hou 编辑 自动驾驶之心 写在前面 个人理解 时序融合能够有效提升自动驾驶3D
  • 免费白嫖GPU算力,畅玩大模型的算力平台!

    要做深度学习 必然需要 GPU 如何构建一个弹性的 GPU 环境是很多读者关心和常问的问题 今天给大家分享 GPU 平台 趋动云 正好官方有活动 新用户 有 价值168元的赠送算力 有效期1年 数量有限先到先得 领取方式见文末 学校课题组没
  • ​NeurIPS 2023|RayDF:实时渲染!基于射线的三维重建新方法

    编辑 极市平台 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 NeRF 技术交流群 本文只做学术分享 如有侵权 联系删文 导读 本论文提出一个全新的维护了多视角几何一致性的基于射线的隐式表达
  • Far3D:直接干到150m,视觉3D目标检测新思路(AAAI2024)

    点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 gt gt 点击进入 自动驾驶之心 3D目标检测 技术交流群 论文作者 自动驾驶Daily 编辑 自动驾驶之心 近来在 Arxiv 读到一篇纯视觉环视感知的新工作 它延
  • 未来之路:大模型技术在自动驾驶的应用与影响

    作者 一颗小树x 编辑 汽车人 原文链接 https zhuanlan zhihu com p 666863252 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 大模型 技术交流群 本文只做
  • 年后跳槽机会多吗?什么时候准备可以实现弯道超车!

    不知不觉2023年即将迎来尾声 秋招也基本上结束了 这几个月汽车人分享了很多自动驾驶和CV方向的工作 像理想 华为的薪资更是羡煞旁人 对于秋招不是很满意的同学和年后打算跳槽的小伙伴 现在可以着手准备起来春招和年后跳槽了 这里也分享一些汽车人
  • 高质量的3D资产如何生成?X-Dreamer或是答案!

    作者 马祎炜 编辑 我爱计算机视觉 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 全栈算法 技术交流群 本文只做学术分享 如有侵权 联系删文 本篇分享论文 X Dreamer Creatin
  • Coco-LIC:紧耦合激光雷达-惯性相机里程计SOTA方案

    点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 gt gt 点击进入 自动驾驶之心 SLAM 技术交流群 论文作者 Xiaolei Lang 编辑 自动驾驶之心 笔者个人理解 机器人在弱结构化 弱纹理环境中的状态估计
  • 超越BEV视角 | 新型紧凑占用Transformer助力自动驾驶3D占用预测

    作者 小书童 编辑 集智书童 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 占用栅格 技术交流群 本文只做学术分享 如有侵权 联系删文 自动驾驶社区对3D占用预测表现出显著兴趣 这主要得益于
  • RV融合!自动驾驶中基于毫米波雷达视觉融合的3D检测综述

    编辑 汽车人 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 多传感器融合 技术交流群 本文只做学术分享 如有侵权 联系删文 自主驾驶在复杂场景下的目标检测任务至关重要 而毫米波雷达和视觉融合
  • 自动驾驶从业者顶流学习笔记,值得收藏!

    自动驾驶之心的兄弟号 自动驾驶Daily后面将会正式投入运营使用 主要关注行业 最新技术分享等 第一次介绍 自动驾驶Daily为大家整理了多个领域方向的数据集 综述 经典论文 视频教程 供大家学习 主要涉及目标检测 语义分割 全景 实例分割
  • 收官,图森即将关闭美国业务

    作者 卡车技术前线 编辑 智车科技 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 本文只做学术分享 如有侵权 联系删文 年末将至 非常遗憾 我们年初的预测成为了现实 自动驾驶卡车创企将面临前所未有的困难 即将进入优
  • 清华大学 | 智能产业研究院自动驾驶冬令营学员招募!

    点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 gt gt 点击进入 自动驾驶之心 求职交流 技术交流群 论文作者 汽车人 编辑 自动驾驶之心 AIR 自动驾驶方向冬令营 在这个冬季 清华大学智能产业研究院 AIR
  • 硬核 | 从零制作一个激光雷达需要多久?

    编辑 ADS智库 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 硬件交流 技术交流群 本文只做学术分享 如有侵权 联系删文 激光雷达 LiDAR 是激光探测及测距系统的简称 目前广泛应用在无
  • Solidity之旅(七)单位以及全局变量

    01 以太币单位 Ether 甭管是虚拟货币还是现实中的 稳定币 他们都有各自的货币单位 当然咯 作为以太坊区块链上交易的虚拟货币以太坊也是有属于自己的那一套货币单位的 而目前以太币 Ether 主要分为这三个 wei gwei以及ethe