链客,专为开发者而生,有问必答!
此文章来自链客区块链技术问答社区,未经允许拒绝转载。
Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么?
Solidity API 主要表现为Solidity 内置的特殊的变量及函数,他们存在于全局命名空间里,主要分为以下几类:
有关区块和交易的属性
ABI编码函数
有关错误处理
有关数学及加密功能
地址相关
合约相关
下面详细讲解下
区块和交易的属性(Block And Transaction Properties)
用来提供一些区块链当前的信息。
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)。
msg.gas (uint): 当前还剩的gas(弃用)