美文网首页
[智能合约]:单位换算和特殊变量

[智能合约]:单位换算和特殊变量

作者: jea的笔记本 | 来源:发表于2019-02-21 00:18 被阅读0次

Solidity的全局命名空间中存在一些特殊的变量和函数。

1.单位换算

以太币的单位,以太币有四种单位,分别是weiszabofinneyether,换算关系如下:

  • 1 == 1 weiwei为最小的单位。
  • 1 szabo == 1e12 wei:1012wei
  • 1 finney == 1e15 wei:1015wei
  • 1 ether == 1e18 wei:1018wei,即1个以太币。

时间单位,有5个时间单位,分别为seconds, minutes, hours, daysweeks,换算关系如下:

  • 1 == 1 seconds,1秒。
  • 1 minutes == 60 seconds,1分钟。
  • 1 hours == 60 minutes,1小时。
  • 1 days == 24 hours,1天。
  • 1 weeks == 7 days,1周。

0.5.0版本之前还有year的单位,先版本移除,因为闰年的存在,即每一年不一定是固定的365天。


2.特殊变量

区块和交易的全局变量和函数

函数:

  • blockhash(uint blockNumber) returns (bytes32): 返回给定区块的哈希,仅适用于最近的256个,并且不包括当前块。
  • gasleft() returns (uint256): 剩余的gas,为uint类型。

变量:

  • 1.区块
  • block.coinbase (address payable): 当前区块的矿工的地址,为应付地址类型。
  • block.difficulty (uint): 当前区块难度值,为uint类型。
  • block.gaslimit (uint): 当前区块限定的最大的gas值,为uint类型。
  • block.number (uint): 当前区块高度,为uint类型。
  • block.timestamp (uint): 当前区块的时间戳,为uint类型,从unix 时间戳开始算起。unix 时间戳1970/01/01 00:00:00
  • now (uint): 当前区块时间戳。(同block.timestamp。)

  • 2.消息
  • msg.data (bytes calldata): 完整的调用数据,为bytes类型,命名为calldata
  • msg.sender (address payable): 消息的发送方,为应付地址类型。
  • msg.sig (bytes4): 调用数据的前4个字节,为bytes4类型,这4个字节为函数的签名。
  • msg.value (uint): 伴随消息发送的以太币的数量,为wei单位,为uint类型。

  • 3.交易
  • tx.gasprice (uint): 交易的gas的价格,为uint类型。
  • tx.origin (address payable): 交易的发送方,为应付地址类型。

3.总结

  • 单位换算和特殊变量中涉及到的变量都为全局变量,主要用于提供有关区块链的信息或是通用的程序函数,方便在编写智能合约中使用。

相关文章

  • [智能合约]:单位换算和特殊变量

    Solidity的全局命名空间中存在一些特殊的变量和函数。 1.单位换算 以太币的单位,以太币有四种单位,分别是w...

  • 什么是智能合约

    原文链接 1,什么是智能合约? 智能合约就是控制合约的协议 智能合约就是一种特殊协议,意在提供,验证或实施合同的履...

  • 智能合约观感

    什么是智能合约 ? 智能合约是一种特殊协议,在区块链内制定合约时使用,当中内含了程式码函式 (Function),...

  • 智能合约-让区块链能做更多的事情

    智能合约 智能合约:智能合约是一种计算机协议,在以太坊中最重要的应用就是设计和部署只能合约。智能合约最早在1995...

  • 用Go来做以太坊开发④智能合约

    智能合约 在这个章节中我们会介绍如何用Go来编译,部署,写入和读取智能合约。 智能合约的编译与ABI 与智能合约交...

  • 单位换算

    一、分类 1、长度单位、面积单位、体积(容积)单位 巧记:记长度单位,平方零翻倍,立方零3倍 特殊:1公顷=100...

  • 单位换算

    张长占 济南市民生大街小学 谈话导入:这几年学了哪些单位换算? 生:时间,长度,体积,容积… 想想单位换算你们都是...

  • 单位换算

    换算公式 面 积 换 算 1平方公里(km2)=100公顷(ha)=247.1英亩(acre)=0.386平方英里...

  • 单位换算

    一公斤=2斤,一斤=500克,一两=50克,一斤=10两 一公里=2里,1里=500米

  • 3.3 全局变量和函数

    3.3 全局变量和函数 全局变量和函数可以理解为solidity提供的一些API,在我们编写智能合约的时候,我们可...

网友评论

      本文标题:[智能合约]:单位换算和特殊变量

      本文链接:https://www.haomeiwen.com/subject/rgoqyqtx.html