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