Solidity 常用方法总结

block中的方法

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的别名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值