コンテンツにスキップ

トランザクション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: Web3jsencodeABI を使用して 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.statuspendingになる可能性があります。ステータスは、トランザクションがブロックチェーンにロードされた後に変更されます。

リクエストサンプル

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