交易 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"
}
}