全部产品

平台接口函数

更新时间:2019-08-27 02:02

蚂蚁区块链合约平台为合约开发者提供一些新的特性接口支持,包括对区块数据获取、交易数据获取、加密方法的支持。

区块数据接口函数

  • block.blockhash(uint blockNumber) returns (bytes32):传入 blockNumber,返回块的哈希值。
  • block.gaslimit (uint):系统中的 gas 最大值。
  • block.number (uint):当前块高度。
  • block.timestamp (uint):当前区块创建的时间戳。
  • now (uint):block.timestamp 的别名。

交易数据接口函数

以下方法介绍中,括号内是返回的结果数据类型,并不是传入参数。

  • msg.data (bytes):用户的输入数据。
  • msg.gas (uint):用户交易中的 gas 值。
  • msg.sender (identity):用户交易中的发送方。
  • msg.sig (bytes4):用户交易输入数据的前四字节。
  • msg.value (uint):用户交易中的 gas 值。

蚂蚁区块链合约平台还支持查询交易哈希,示例如下:

  1. tx.txhash (identity)

可通过该方法获取当前交易的哈希值,类型为 identity。

加密接口函数

sha256

  • 函数原型
  1. sha256(bytes data) returns(bytes32 result) ;
  • 请求参数
参数 必选 类型 说明
data bytes 要加密的数据
  • 返回值
参数 必选 类型 说明
result bytes sha256 加密结果
说明:蚂蚁区块链合约平台对 sha256 加密函数进行了修改,采用 OpenSSL 加密库进行实现。

ecrecover

  • 函数原型
  1. ecrecover(bytes32 hash, uint8 v, bytes32 r,bytes s) returns(identity id) ;
  • 请求参数
参数 必选 类型 说明
hash bytes32 签名数据的哈希结果
r bytes32 签名前 32 字节
s bytes32 签名后 32 字节
v uint8 签名最后一字节
  • 返回值
参数 必选 类型 说明
id identity 账户 ID

说明:蚂蚁区块链合约平台对 ecrecover 加密函数进行了修改,通过签名数据的哈希结果和签名获得公钥后,采用 sha256 加密函数对公钥进行加密,并将加密的结果作为 ID 返回给用户。

ripemd160

在蚂蚁区块链合约平台中,不提供 ripemd160 加密函数库。