The block and transaction properties are as follows:
- block.blockhash(uint blockNumber) returns (bytes32): The hash of the given block only works for the 256 most recent blocks.
- block.coinbase (address): The current block miner's address.
- block.difficulty (uint): The current block difficulty.
- block.gaslimit (uint): The current block gas limit. It defines the maximum amount of gas that all transactions in the whole block combined are allowed to consume. Its purpose is to keep the block propagation and processing time low, thereby allowing a sufficiently decentralized network. Miners have the right to set the gas limit for the current block to be within ~0.0975% (1/1,024) of the gas limit of the last block, so the resulting gas limit should be the median of miners' preferences.
- block.number (uint): The current block number.
- block.timestamp (uint): The current block timestamp.
- msg.data (bytes): The complete call data holds the function and its arguments that the transaction invokes.
- msg.gas (uint): The remaining gas.
- msg.sender (address): The sender of the message (the current call).
- msg.sig (bytes4): The first four bytes of the call data (the function identifier).
- msg.value (uint): The number of wei sent with the message.
- now (uint): The current block timestamp (alias for block.timestamp).
- tx.gasprice (uint): The gas price of the transaction.
- tx.origin (address): The sender of the transaction (full call chain).