跳转至

交易 API

交易 API 发送交易并获取其信息。

创建交易

创建一个要发送到区块链网络的交易。您可以创建用于发送原生代币或执行智能合约的交易。

请求 URL

直播网址 https://bc-api.qpyou.cn/core/v1/tx
沙盒网址 https://sandbox-bc-api.qpyou.cn/core/v1/tx
HTTP 方法 POST
内容类型 application/json

头部参数

字段名称 描述 类型 必需
x-network 区块链网络 字符串
Authorization 调用API的身份验证令牌 字符串

请求体

字段名称 描述 类型 必需
from 将向区块链发送交易的账户地址。 字符串
to * 对于智能合约交易,例如调用合约函数的交易:智能合约地址
* 对于发送原生代币的交易:将接收代币的账户地址
字符串
amount * 对于智能合约交易,例如调用合约函数的交易:输入 0
* 对于发送原生代币的交易:输入要发送的代币数量
字符串
data 对于智能合约交易,这是合约函数名称和合约函数参数信息。
* Polygon: Web3js encodeABI 可用于生成 data
* XPLA: XPLAjs 消息创建 可用于生成 data
json * 对于智能合约交易:是
* 对于发送原生代币的交易:否
encoded 返回的交易是否应该被编码(true:编码的原始交易字符串,false:解码的 JSON 结果) 布尔

响应

字段名称 描述 类型
code API 调用结果代码,0: 成功 number
message 结果消息 string
data API 响应数据 json
data.rawTx 交易数据 string 或 json
data.hashedTx 哈希后的 data.rawTx。只有当 API 头 x-network 为 polygon 且请求体 from 是多签名钱包地址时,您才会收到此值。 string
data.requestId API 请求的唯一标识符 string

请求示例

curl -X 'POST' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/tx' 
  -H 'accept: application/json' 
  -H 'x-network: polygon' 
  -H 'Content-Type: application/json' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNvbS5jb20yd...' 
  -d '{
  "from": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765",
  "to": "0xFBd488D1b00604d3b05124d80E35FeA9A39C3296",
  "amount": "0.001",
  "data": "",
  "encoded": true
}'

响应示例

{
  "code": 0,
  "message": "success",
  "data": {
    "rawTx": "02f68301388182013484618b021e84618b0235827b0c94fbd488d1b00604d3b05124d80e35fea9a39c329687038d7ea4c6800080c0808080",
    "requestId": "93ff43f7-3e19-42e1-a7d0-bbff40be1361"
  }
}

获取交易信息

使用交易哈希(txhash)获取交易信息。仅能返回记录在区块链上的交易信息。

请求 URL

直播 URL https://bc-api.qpyou.cn/core/v1/tx/{txhash}
沙盒 URL https://sandbox-bc-api.qpyou.cn/core/v1/tx/{txhash}
HTTP 方法 GET
内容类型 application/json

路径参数

字段名称 描述 类型 必需
txhash 交易哈希 字符串 Y

头部参数

字段名称 描述 类型 必需
x-network 区块链网络 字符串
Authorization 调用API所需的身份验证令牌 字符串

响应

字段名称 描述 类型
code API 请求结果代码,0:成功 number
message 结果消息 String
data API 响应数据 json
data.txhash 交易哈希 string
data.blockNumber 包含交易的区块的区块号 number
data.contractAddress 如果交易涉及部署合约,则为合约地址 string
data.status 交易状态(success 表示交易已成功记录在区块链的一个区块上) string
data.fee 应用的费用 json
data.data 交易数据
* Polygon
* XPLA
json
data.logs 交易日志 json

请求示例

curl -X 'GET' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/tx/0x5a0ca3a7eebbafa946da6ed0160930fc4f334887dbf11a9b38937ab8831fd125' 
  -H 'accept: application/json' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNvbS5jb20yd...' 
  -H 'x-network: polygon'

响应示例

// Polygon Transaction
{
  "code": 0,
  "message": "success",
  "data": {
    "txhash": "0x5a0ca3a7eebbafa946da6ed0160930fc4f334887dbf11a9b38937ab8831fd125",
    "blockNumber": 33457511,
    "contractAddress": "0x4377C1bE43Db73561f1179e2637CFf0bbD617eFC",
    "status": "success",
    "fee": {
      "gas": 151232,
      ...
    },
    "data": {
      "from": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765",
      ..
     },
    "logs": [
      {
        "transactionHash": "0x5a0ca3a7eebbafa946da6ed0160930fc4f334887dbf11a9b38937ab8831fd125",
        ....
      }
    ]
  }
}
// Xpla Transaction
{
  "code": 0,
  "message": "success",
  "data": {
    "txhash": "E21E0CC37CD1BCACADFDEBD4C7AF2F68257EA4591D670F4AA0A725B21422C29F",
    "blockNumber": 4818400,
    "contractAddress": "0x4377C1bE43Db73561f1179e2637CFf0bbD617eFC",
    "status": "success",
    "fee": {
      "gasUsed": 21000,
      ...
    },
    "data": {
      "memo": "",
      ...
    },
    "logs": [
      {
        "msg_index": 0,
        ...
      }
    ]
  }}

发送交易

将签名的交易发送到区块链。

Note

交易的签名必须由玩家在其私人钱包中完成,或者必须由游戏工作室提供。

Note

转账可能会失败,尽管在响应中返回了交易哈希(txhash)。请检查从获取交易信息 API 返回的 data.status 以验证交易的转账结果。

请求 URL

直播 URL https://bc-api.qpyou.cn/core/v1/send
沙盒 URL https://sandbox-bc-api.qpyou.cn/core/v1/send
HTTP 方法 POST
内容类型 application/json

头部参数

字段名称 描述 类型 必需
x-network 区块链网络 字符串
Authorization 调用API所需的认证令牌 字符串

请求体

Note

交易转移结果的通知者(callbackUrl)仅由 Hive 区块链 API 提供。

字段名称 描述 类型 必需
signedTx 签名的交易 字符串
sync 交易的同步/异步过程
* true: 交易将以同步方式处理,这意味着 API 将等待直到交易在区块链上完成记录。在发送 API 请求后,API 等待直到获取响应值 (txHash)。
* false: 交易将以异步方式处理,这意味着您可能不会立即获得交易转移的结果。您需要使用获取交易信息 API 来验证交易的转移结果。
布尔值

回复

字段名称 描述 类型
code API 请求结果代码,0:成功 number
message 结果消息 String
data API 响应数据 json
data.txhash 交易哈希 string
data.status 交易状态 string
Note

如果是异步的,您可能无法获得响应,或者data.status可能是pending。状态将在交易加载到区块链后更改。

请求示例

curl -X 'POST' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/send' 
  -H 'accept: application/json' 
  -H 'x-network: polygon' 
  -H 'Content-Type: application/json' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNvbS5jb20yd...' 
  -d '{
  "signedTx": "0x02f8b58301388181b985016d14154585016d1415578289219494853bdc9c...",
  "sync": false
}'

响应示例

// Polygon
{
  "code": 0,
  "message": "success",
  "data": {
    "txhash": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076",
    "status": "pending"
  }
}
// Xpla
{
  "code": 0,
  "message": "success",
  "data": {
    "txhash": "84655BB965D709A4AAD4104C7FFBD8E42F52F0BB313493FFDCA02B01FE983A8F",
    "status": "pending"
  }
}