Solidity 常用方法总结

  • Post author:
  • Post category:solidity

block中的方法

blockhash(uint blockNumber)返回(bytes32):给定块的哈希-仅适用于256个最新块,不包括当前块

block.blockhash(uint blockNumber) returns (bytes32):给定块的散列 – 仅适用于256个最近的块
block.coinbase (address):当前块矿工的地址
block.difficulty (uint):当前块难度
block.gaslimit (uint):当前块gaslimit
block.number (uint):当前块号
block.timestamp (uint):当前块的时间戳

msg中的方法

msg.data (bytes):完整的calldata
msg.gas (uint): 剩余gas
msg.sender (address): 消息的发送者(当前呼叫)
msg.value (uint): 与消息一起发送的数量
now (uint):当前块时间戳(block.timestamp的别名)

address中的方法

<address>.balance (uint256) : 余额地址在wei
<address>.send(uint256 amount) returns (bool) : wei发送给定量到地址,失败时返回假
<address>.transfer(uint256 amount) : 发给定量的wei先解决,抛出失败

其他方法

tx.gasprice (uint): gas价格的交易
tx.origin (address) :交易的发送者(全调用链)
assert(bool condition): 如果条件为false,则中止执行并恢复状态更改(用于内部错误)
require(bool condition): 如果条件为false,则中止执行并恢复状态更改(用于格式错误的输入或外部组件中的错误)
revert(): 中止执行并恢复状态更改
keccak256(…) returns (bytes32):计算(紧密包装)参数的Ethereum-SHA-3(Keccak-256)散列
sha3(…) returns (bytes32):keccak256的别名
sha256(…) returns (bytes32): 计算(紧密包装)参数的SHA-256散列
ripemd160(…) returns (bytes20) : 计算(紧密包装)参数的RIPEMD-160哈希值
ecrecover(bytes32 hash, uint8 v, bytes32 r, bytes32 s) returns (address) : 从椭圆曲线签名恢复与公钥相关联的地址,错误返回零
addmod(uint x, uint y, uint k) returns (uint) : 计算(x + y)%k,其中以任意精度执行加法,并且不在2 ** 256周围

mulmod(uint x, uint y, uint k) returns (uint) : 计算(x * y)%k,其中以任意精度执行乘法,并且不会在2 ** 256周围
this (current contract’s type) : 目前的合约,明确转换为地址
super : 较高的继承层次结构中的合同一个级别
selfdestruct(address recipient) : 摧毁目前的合约,将资金送到给定地址
suicide(address recipieint) : selfdestruct的别名


版权声明:本文为qq_30505673原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。