solidity中的特殊函数
括号里面有类型和名字的是参数,只有类型是返回值.
- block.blockhash(uint blockNumber) returns (bytes32): hash of the given block - only
works for 256 most recent blocks - block.coinbase (address): current block miner’s address
- block.difficulty (uint): current block difficulty
- block.gaslimit (uint): current block gaslimit
- block.number (uint): current block number
- block.timestamp (uint): current block timestamp
- msg.data (bytes): complete calldata
- msg.gas (uint): remaining gas
- msg.sender (address): sender of the message (current call)
- msg.value (uint): number of wei sent with the message
- now (uint): current block timestamp (alias for block.timestamp)
- tx.gasprice (uint): gas price of the transaction
6.4. Solidity in Depth 99Solidity Documentation, 0.4.10 - tx.origin (address): sender of the transaction (full call chain)
- revert(): abort execution and revert state changes
- keccak256(...) returns (bytes32): compute the Ethereum-SHA-3 (Keccak-256) hash of the
(tightly packed) arguments - sha3(...) returns (bytes32): an alias to keccak256()
- sha256(...) returns (bytes32): compute the SHA-256 hash of the (tightly packed) arguments
- ripemd160(...) returns (bytes20): compute the RIPEMD-160 hash of the (tightly packed) arguments
- ecrecover(bytes32 hash, uint8 v, bytes32 r, bytes32 s) returns (address):
recover address associated with the public key from elliptic curve signature, return zero on error - addmod(uint x, uint y, uint k) returns (uint): compute (x + y) % k where the addition is performed with arbitrary precision and does not wrap around at 2**256
- mulmod(uint x, uint y, uint k) returns (uint): compute (x * y) % k where the multiplication is performed with arbitrary precision and does not wrap around at 2**256
- this (current contract’s type): the current contract, explicitly convertible to address
- super: the contract one level higher in the inheritance hierarchy
- selfdestruct(address recipient): destroy the current contract, sending its funds to the given address
- .balance (uint256): balance of the Address in Wei
- .send(uint256 amount) returns (bool): send given amount of Wei to Address, returns false on failure
- .transfer(uint256 amount): send given amount of Wei to Address, throws on failure