トランザクションAPI
トランザクションAPIはトランザクションを送信し、その情報を取得します。
トランザクションを作成¶
ブロックチェーンネットワークに送信されるトランザクションを作成します。ネイティブトークンの送信やスマートコントラクトの実行のためのトランザクションを作成できます。
リクエストURL¶
ライブURL | https://bc-api.qpyou.cn/core/v1/tx |
---|---|
サンドボックスURL | https://sandbox-bc-api.qpyou.cn/core/v1/tx |
HTTPメソッド | POST |
コンテンツタイプ | application/json |
ヘッダー パラメータ¶
フィールド名 | 説明 | タイプ | 必須 |
---|---|---|---|
x-network | ブロックチェーンネットワーク | 文字列 | Y |
Authorization | APIを呼び出すための認証トークン | 文字列 | Y |
リクエストボディ¶
フィールド名 | 説明 | タイプ | 必須 |
---|---|---|---|
from | トランザクションをブロックチェーンに送信するアカウントアドレス。 | string | Y |
to | * スマートコントラクトトランザクションの場合、コントラクト関数を呼び出すトランザクション: スマートコントラクトアドレス * ネイティブトークンを送信するトランザクションの場合: トークンを受け取るアカウントアドレス | string | Y |
amount | * スマートコントラクトトランザクションの場合、コントラクト関数を呼び出すトランザクション: 0 を入力 * ネイティブトークンを送信するトランザクションの場合: 送信するトークンの量を入力 | string | Y |
data | スマートコントラクトトランザクションの場合、これはコントラクト関数名とコントラクト関数パラメータ情報です。 * Polygon: Web3js の encodeABI を使用して data 値を生成できます * XPLA: XPLAjs メッセージ作成 を使用して data 値を生成できます | json | * スマートコントラクトトランザクションの場合: Y * ネイティブトークンを送信するトランザクションの場合: N |
encoded | トランザクションが返されるべきかエンコードされるべきか (true : エンコードされた生トランザクション文字列, false : デコードされたJSON結果) | boolean | 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¶
ライブ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 | ブロックチェーンネットワーク | 文字列 | 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)が応答に返された場合でも、転送が失敗する可能性があります。取引の転送結果を確認するには、Get Transaction Information 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 | ブロックチェーンネットワーク | 文字列 | Y |
Authorization | APIを呼び出すために必要な認証トークン | 文字列 | Y |
リクエストボディ¶
Note
トランザクション転送結果の通知者(callbackUrl
)は、Hive ブロックチェーンAPIからのみ提供されます。
フィールド名 | 説明 | 型 | 必須 |
---|---|---|---|
signedTx | 署名済みトランザクション | 文字列 | Y |
sync | トランザクションの同期/非同期処理 * true : トランザクションは同期的に処理され、APIはトランザクションがブロックチェーンに記録されるまで待機します。APIリクエストを送信した後、APIはレスポンス値(txHash )を受け取るまで待機します。 * false : トランザクションは非同期的に処理されるため、トランザクションの転送結果をその時点で得られない可能性があります。トランザクションの転送結果を確認するには、トランザクション情報取得APIを使用する必要があります。 | ブール値 | Y |
応答¶
フィールド名 | 説明 | タイプ |
---|---|---|
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"
}
}