讲一下 solidity 的 API。
- 区块和交易
- ABI 编码
- 错误处理
- 数学与加密
- 地址与合约
区块和交易
blockhash(uint blockNumber) returns (bytes32):返回给定区块号的哈希值,只支持最近256个区块,且不包含当前区块。block.coinbase (address): 当前块矿工的地址。block.difficulty (uint):当前块的难度。block.gaslimit (uint):当前块的gaslimit。block.number (uint):当前区块的块号。block.timestamp (uint): 当前块的Unix时间戳(从1970/1/1 00:00:00 UTC开始所经过的秒数)gasleft() (uint256): 获取剩余gas。msg.data (bytes): 完整的调用数据(calldata)。用户发生的转账之外的内容,可以是文字备注之类的,但是如果接受信息的是智能合约那合约会对data进行解析,并执行date中指定的函数。msg.data不等于inputs
msg.gas (uint): 当前还剩的gas(弃用)。msg.sender (address): 当前调用发起人的地址。msg.sig (bytes4):调用数据(calldata)的前四个字节(例如为:函数标识符)。msg.value (uint): 这个消息所附带的以太币,单位为wei,注意是这笔交易附带的以太币,不是该地址上有的以太币。now (uint): 当前块的时间戳(block.timestamp的别名)tx.gasprice (uint): 交易的gas价格。tx.origin (address): 交易的发送者(全调用链)
1 | pragma solidity ^0.4.18; |