Solidity 开发笔记

全局变量

  • block.blockhash(uint blockNumber) returns (bytes32):给定块的散列 - 仅适用于256个最近的块
  • block.coinbase (address):当前块矿工的地址
  • block.difficulty (uint):当前块难度
  • block.gaslimit (uint):当前块gaslimit
  • block.number (uint):当前块号
  • block.timestamp (uint):当前块的时间戳
  • msg.data (bytes):完整的calldata
  • msg.gas (uint): 剩余gas
  • msg.sender (address): 消息的发送者(当前呼叫)
  • msg.value (uint): 与消息一起发送的数量
  • now (uint):当前块时间戳(block.timestamp的别名)
  • 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的别名
  • .balance (uint256) : 余额地址在wei
  • .send(uint256 amount) returns (bool) : wei发送给定量到地址,失败时返回假
  • .transfer(uint256 amount) : 发给定量的wei先生解决,抛出失败

功能可见性说明符

public: 在外边和内部可见(为存储/状态变量创建一个getter函数)
private: 仅在当前合约中可见
external:只能从外部看到(仅用于函数) - 即只能通过消息调用(通过this.fundc)
internal:只在内部可见


你可能感兴趣的:(Solidity 开发笔记)