Solidity-获取区块属性信息

前言:

合约发布工具及版本:mist v0.11.0

一:区块属性

  1. blockhash(uint blockNumber)
    在0.4.22版本,将block.blockhash(uint blockNumber) returns (bytes32)替换

  2. block.coinbase (address): 当前块所属旷工地址

  3. block.difficulty (uint): 当前块难度
  4. block.gaslimit (uint): 当前块汽油上限
  5. block.number (uint): 当前块号
  6. block.timestamp (uint): 当前块的时间戳,UNIX时代以来的秒
  7. gasleft() returns (uint256): 剩余汽油
    在0.4.21版本,将msg.gas (uint)替换
  8. msg.data (bytes): 提交的完整数据
  9. msg.sender (address): 发送者
  10. msg.sig (bytes4): calldata的前4个字节
  11. msg.value (uint): 发送信息使用的wei数量
  12. now (uint): 当前块的时间戳 (即 block.timestamp)
  13. tx.gasprice (uint): 汽油的交易价格
  14. tx.origin (address): 交易发送者

二:实例

pragma solidity ^0.4.20;
contract BlockDemo{
    bytes32 public _blockHash;
    address public _coinbase = block.coinbase;
    uint public _difficulty = block.difficulty;
    uint public _gasLimit = block.gaslimit;
    uint public _number = block.number;
    bytes public _data = msg.data;
    uint public _gas = gasleft();
    address public _sender = msg.sender;
    bytes4 public _gis = msg.sig;
    uint public _value  = msg.value;
    uint public _gasPrice = tx.gasprice;
    address public _orign = tx.origin;
    uint public _now = now;

    constructor() public {
        _blockHash = blockhash(block.number);
    }
}

你可能感兴趣的:(区块链)