跳轉至

交易 API

交易 API 發送交易並獲取其信息。

創建交易

創建一個要發送到區塊鏈網絡的交易。您可以創建用於發送原生代幣或執行智能合約的交易。

請求網址

直播網址 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 將交易發送到區塊鏈的帳戶地址。 字串 Y
to * 對於智能合約交易,例如調用合約函數的交易:智能合約地址
* 對於發送原生代幣的交易:將接收代幣的帳戶地址
字串 Y
amount * 對於智能合約交易,例如調用合約函數的交易:輸入 0
* 對於發送原生代幣的交易:輸入要發送的代幣數量
字串 Y
data 對於智能合約交易,這是合約函數名稱和合約函數參數信息。
* Polygon: Web3js encodeABI 可用於生成 data
* XPLA: XPLAjs 消息創建 可用於生成 data
json * 對於智能合約交易:Y
* 對於發送原生代幣的交易:N
encoded 是否應該編碼返回的交易(true:編碼的原始交易字符串,false:解碼的 JSON 結果) 布林值 N

回應

欄位名稱 描述 類型
code API 呼叫結果代碼,0:成功 數字
message 結果消息 字串
data API 回應數據 json
data.rawTx 交易數據 字串或 json
data.hashedTx 哈希的 data.rawTx。只有當 API 標頭 x-network 為 polygon 且請求主體 from 為多簽錢包地址時,您才會收到此值。 字串
data.requestId API 請求的唯一標識符 字串

請求範例

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 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 交易哈希 字串

標頭參數

欄位名稱 描述 類型 必填
x-network 區塊鏈網絡 字串 Y
Authorization 認證令牌,呼叫 API 時需要 字串 Y

回應

欄位名稱 描述 類型
code API 請求結果代碼,0: 成功 數字
message 結果訊息 字串
data API 回應數據 json
data.txhash 交易哈希 字串
data.blockNumber 包含該交易的區塊號 數字
data.contractAddress 如果交易涉及部署合約,則為合約地址 字串
data.status 交易狀態(success 表示交易已成功記錄在區塊鏈的區塊上) 字串
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

實時網址 https://bc-api.qpyou.cn/core/v1/send
沙盒網址 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:成功 數字
message 結果消息 字串
data API 回應數據 json
data.txhash 交易哈希 字串
data.status 交易狀態 字串
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"
  }
}