トークンAPI
トークンAPIは、FT(ファンジブルトークン)の転送、クエリ、および委任を提供します。
トークン情報を取得
契約アドレス(contract)のトークン契約情報を返します。
リクエストURL
パスパラメータ
| フィールド名 | 説明 | タイプ | 必須 |
| contract | トークン契約のアドレス | 文字列 | Y |
ヘッダー パラメータ
| フィールド名 | 説明 | タイプ | 必須 |
| x-network | ブロックチェーンネットワーク | 文字列 | Y |
| Authorization | APIを呼び出すために必要な認証トークン | 文字列 | Y |
応答
| フィールド名 | 説明 | タイプ |
| code | APIリクエスト結果コード、0: 成功 | 数字 |
| message | 結果メッセージ | 文字列 |
| data | APIレスポンスデータ | JSON |
| data.name | トークン名 | 文字列 |
| data.symbol | トークンのシンボル | 文字列 |
| data.decimals | トークンの最大小数点以下の桁数 | 数字 |
| data.totalSupply | 総供給量 | 文字列 |
リクエストサンプル
curl -X 'GET'
'https://sandbox-bc-api.qpyou.cn/core/v1/ft/0x94853BdC9c6AdD50D7842D1A3117fab385457470'
-H 'accept: application/json'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
レスポンスサンプル
{
"code": 0,
"message": "success",
"data": {
"name": "Simple Token",
"symbol": "ST",
"decimals": 18,
"totalSupply": "1000000000"
}
}
トークン残高を取得
トークン所有者アカウント(from)の現在のトークン残高を返します。
リクエストURL
パスパラメータ
| フィールド名 | 説明 | タイプ | 必須 |
| contract | トークン契約のアドレス | 文字列 | Y |
| from | トークンの所有者 | 文字列 | Y |
クエリパラメータ
| フィールド名 | 説明 | タイプ | 必須 |
| details | 残高の詳細を返すかどうか | boolean | N |
ヘッダー パラメータ
| フィールド名 | 説明 | タイプ | 必須 |
| x-network | ブロックチェーンネットワーク | 文字列 | Y |
| Authorization | APIを呼び出すために必要な認証トークン | 文字列 | Y |
応答
| フィールド名 | 説明 | タイプ |
| code | APIリクエスト結果コード、0: 成功 | 数字 |
| message | 結果メッセージ | 文字列 |
| data | APIレスポンスデータ | JSON |
| data.value | トークン残高 | 文字列 |
| data.rawValue | data.decimalsを適用しないトークン残高 | 文字列 |
| data.symbol | トークンのシンボル | 文字列 |
| data.decimals | トークンの最大小数点以下の桁数 | 数字 |
リクエストサンプル
curl -X 'GET'
'https://sandbox-bc-api.qpyou.cn/core/v1/ft/0x94853BdC9c6AdD50D7842D1A3117fab385457470/account/0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765/balance?details=true'
-H 'accept: application/json'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
応答サンプル
{
"code": 0,
"message": "success",
"data": {
"value": "999998999",
"symbol": "ST",
"decimals": 18,
"rawValue": "999998999000000000000000000"
}
}
承認された転送のために利用可能なトークン量を取得
トークン所有者アカウント from が spender アカウントに対して所有者を代表して送信することを承認したトークンの量を返します。
リクエストURL
パスパラメータ
| フィールド名 | 説明 | タイプ | 必須 |
| contract | トークン契約のアドレス | 文字列 | Y |
| from | トークンの所有者 | 文字列 | Y |
| spender | トークンを送信する権限を与えられたアカウント | 文字列 | Y |
ヘッダーパラメータ
| フィールド名 | 説明 | タイプ | 必須 |
| x-network | ブロックチェーンネットワーク | 文字列 | Y |
| Authorization | APIを呼び出すために必要な認証トークン | 文字列 | Y |
応答
| フィールド名 | 説明 | タイプ |
| code | APIリクエスト結果コード、0: 成功 | 数字 |
| message | 結果メッセージ | 文字列 |
| data | APIレスポンスデータ | JSON |
| data.allowance | 送信可能なトークンの量 | 文字列 |
リクエストサンプル
curl -X 'GET'
'https://sandbox-bc-api.qpyou.cn/core/v1/ft/0x94853BdC9c6AdD50D7842D1A3117fab385457470/account/0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765/allowance/0xFBd488D1b00604d3b05124d80E35FeA9A39C3296'
-H 'accept: application/json'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
レスポンスサンプル
{
"code": 0,
"message": "success",
"data": {
"allowance": "0"
}
}
トークンを送信
特定のアドレスにトークンを送信するトランザクションを作成します。 from はトークンの所有者でなければなりません。受信者アカウント(to)が契約の場合、この契約は data を使用して追加のタスクを実行できます。
リクエストURL
パスパラメータ
| フィールド名 | 説明 | タイプ | 必須 |
| contract | トークン契約のアドレス | 文字列 | Y |
ヘッダーパラメータ
| フィールド名 | 説明 | タイプ | 必須 |
| x-network | ブロックチェーンネットワーク | 文字列 | Y |
| Authorization | APIを呼び出すために必要な認証トークン | 文字列 | Y |
リクエストボディ
| フィールド名 | 説明 | タイプ | 必須 |
| encoded | 返されるトランザクションがエンコードされているかどうか true: エンコードされた生トランザクション文字列(data.rawTx)を受け取ります。 false: デコードされた data.rawTx(JSON)を受け取ります。 | boolean | N |
| from | トークンを送信するアカウントアドレス | string | Y |
| to | トークンを受信するアカウントアドレス | string | Y |
| amount | 送信するトークンの量 | string | Y |
応答
| フィールド名 | 説明 | タイプ |
| 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/ft/0x94853BdC9c6AdD50D7842D1A3117fab385457470/transfer'
-H 'accept: */*'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
-H 'Content-Type: application/json'
-d '{
"encoded": true,
"from": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765",
"to": "0xFBd488D1b00604d3b05124d80E35FeA9A39C3296",
"amount": "100.55"
}'
レスポンスサンプル
// Polygon
{
"code": 0,
"message": "success",
"data": {
"rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8...",
"hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
"requestId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
}
}
// XPLA
{
"code": 0,
"message": "success",
"data": {
"rawTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076.....",
"reqeustId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
}
}
所有者の代理でトークンを送信
トークンの所有者を代表して、特定のアドレスにトークンを送信するトランザクションを作成します。 from は、トークンの所有者(owner)からトークンを送信する権利を委任されたアカウントでなければなりません。受信者アカウント(to)がコントラクトである場合、このコントラクトは data を使用して追加のタスクを実行できます。
リクエストURL
パスパラメータ
| フィールド名 | 説明 | タイプ | 必須 |
| contract | コントラクトアドレス | 文字列 | Y |
ヘッダー パラメータ
| フィールド名 | 説明 | タイプ | 必須 |
| x-network | ブロックチェーンネットワーク | 文字列 | Y |
| Authorization | APIを呼び出すために必要な認証トークン | 文字列 | Y |
リクエストボディ
| フィールド名 | 説明 | タイプ | 必須 |
| from | トークンを送信する権限を持つアカウントのウォレットアドレス | 文字列 | Y |
| to | トークンを受け取るウォレットアドレス | 文字列 | Y |
| amount | 送信するトークンの量 | 文字列 | Y |
| data | 受信者がコントラクトの場合に送信されるデータ | 文字列 | Y |
| owner | トークン所有者アカウントのウォレットアドレス | 文字列 | Y |
| encoded | 戻されるトランザクションがエンコードされているかどうか true: エンコードされた生トランザクション文字列(data.rawTx)を受け取る。 false: デコードされた data.rawTx(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/ft/0x5bd415aeb2b382c7fac9cc72c1f3994e33ff7b02/transfer-from'
-H 'accept: */*'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
-H 'Content-Type: application/json'
-d '{
"encoded": true,
"from": "0xA10078576Ca6f63dc6f78ff9a8ed8bd05B51f463",
"to": "0xdcd51770d06B54204abd8c30A25b4583D4cABa39",
"amount": "0.000001",
"owner": "0xD6e69da7f1be111394dfef4C48eaC9b52ddf2Fd0"
}'
応答サンプル
{
"code": 0,
"message": "success",
"data": {
"rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8...",
"hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
"requestId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
}
}
トークンを送信する権利を付与する
from アカウントが to アカウントに対して amount のトークンを from アカウントの代理で送信することを承認するトランザクションを作成します。from はトークンの所有者でなければなりません。
リクエストURL
パスパラメータ
| フィールド名 | 説明 | タイプ | 必須 |
| contract | トークン契約のアドレス | 文字列 | Y |
ヘッダー パラメータ
| フィールド名 | 説明 | タイプ | 必須 |
| x-network | ブロックチェーンネットワーク | 文字列 | Y |
| Authorization | APIを呼び出すために必要な認証トークン | 文字列 | Y |
リクエストボディ
| フィールド名 | 説明 | タイプ | 必須 |
| from | トークン所有者アカウントのウォレットアドレス | 文字列 | Y |
| to | トークンを送信する権利を受け取るアカウントのウォレットアドレス | 文字列 | Y |
| amount | 送信するトークンの量 | 文字列 | Y |
| encoded | 戻されるトランザクションがエンコードされているかどうか true: エンコードされた生トランザクション文字列(data.rawTx)を受け取ります。 false: デコードされた data.rawTx(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/ft/0x5bd415aeb2b382c7fac9cc72c1f3994e33ff7b02/approve'
-H 'accept: */*'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
-H 'Content-Type: application/json'
-d '{
"encoded": true,
"from": "0xD6e69da7f1be111394dfef4C48eaC9b52ddf2Fd0",
"to": "0xA10078576Ca6f63dc6f78ff9a8ed8bd05B51f463",
"amount": "100"
}'
応答サンプル
{
"code": 0,
"message": "success",
"data": {
"rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8...",
"hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
"requestId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
}
}
デプロイトークン契約
標準トークン契約をデプロイするトランザクションを作成します。
リクエストURL
ヘッダーパラメータ
| フィールド名 | 説明 | タイプ | 必須 |
| x-network | ブロックチェーンネットワーク | 文字列 | Y |
| Authorization | APIを呼び出すために必要な認証トークン | 文字列 | Y |
リクエストボディ
| フィールド名 | 説明 | タイプ | 必須 |
| from | トークン契約をデプロイするウォレットアドレス | 文字列 | Y |
| name | トークン名 | 文字列 | Y |
| symbol | トークンのシンボル | 文字列 | Y |
| decimals | トークンの最大小数点以下の桁数 | 数値 | Y |
| initialSupply | ミントされたトークンの初期数量 | 文字列 | Y |
| encoded | 戻されるトランザクションがエンコードされているかどうか true: エンコードされた生トランザクション文字列(data.rawTx)を受け取ります。 false: デコードされた data.rawTx(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/ft/contract'
-H 'accept: */*'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
-H 'Content-Type: application/json'
-d '{
"encoded": true,
"from": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765",
"name": "Simple Token",
"symbol": "ST",
"decimals": 18,
"initialSupply": "1000000000"
}'
レスポンスサンプル
{
"code": 0,
"message": "success",
"data": {
"rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8...",
"hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
"requestId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
}
}