前言:
合约发布工具及版本:mist v0.11.0
一:区块属性
blockhash(uint blockNumber)
在0.4.22版本,将block.blockhash(uint blockNumber) returns (bytes32)替换block.coinbase (address): 当前块所属旷工地址
- block.difficulty (uint): 当前块难度
- block.gaslimit (uint): 当前块汽油上限
- block.number (uint): 当前块号
- block.timestamp (uint): 当前块的时间戳,UNIX时代以来的秒
- gasleft() returns (uint256): 剩余汽油
在0.4.21版本,将msg.gas (uint)替换 - msg.data (bytes): 提交的完整数据
- msg.sender (address): 发送者
- msg.sig (bytes4): calldata的前4个字节
- msg.value (uint): 发送信息使用的wei数量
- now (uint): 当前块的时间戳 (即 block.timestamp)
- tx.gasprice (uint): 汽油的交易价格
- 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);
}
}