Token API는 FT(Fungible Token) 전송, 조회, 권한 부여 등의 기능들을 제공합니다.
토큰 정보 조회
컨트랙트 주소(contract
)에 해당하는 토큰 컨트랙트 정보를 조회합니다.
Request URL
Live URL | https://bc-api.qpyou.cn/core/v1/ft/{contract} |
---|---|
Sandbox URL | https://sandbox-bc-api.qpyou.cn/core/v1/ft/{contract} |
HTTP Method | GET |
Content-Type | application/json |
Path Parameters
필드명 | 설명 | 타입 | 필수 여부 |
---|---|---|---|
contract | 토큰 컨트랙트 주소 | string | Y |
Header Parameters
필드명 | 설명 | 타입 | 필수 여부 |
---|---|---|---|
x-network | 블록체인 네트워크{ploygon, xpla} | string | Y |
Authorization | API를 호출하기 위한 인증 토큰 | string | Y |
Responses
필드명 | 설명 | 타입 |
---|---|---|
code | api 호출 결과 코드, 0:성공 | number |
message | 결과 메시지 | string |
data | API 응답 데이터 | json |
data.name | 토큰 이름 | string |
data.symbol | 토큰 심볼 | string |
data.decimals | 토큰 소수점 최대 자리수 | number |
data.totalSupply | 총 발행량 | string |
Request Sample
1 2 3 4 5 |
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...' |
Response Sample
1 2 3 4 5 6 7 8 9 10 |
{ "code": 0, "message": "success", "data": { "name": "Simple Token", "symbol": "ST", "decimals": 18, "totalSupply": "1000000000" } } |
토큰 잔액 조회
토큰 소유자 계정(from
)의 현재 토큰 잔고를 조회합니다.
Request URL
Live URL | https://bc-api.qpyou.cn/core/v1/ft/{contract}/account/{from}/balance |
---|---|
Sandbox URL | https://sandbox-bc-api.qpyou.cn/core/v1/ft/{contract}/account/{from}/balance |
HTTP Method | GET |
Content-Type | application/json |
Path Parameters
필드명 | 설명 | 타입 | 필수 여부 |
---|---|---|---|
contract | 토큰 컨트랙트 주소 | string | Y |
from | 토큰 소유자 계정 | string | Y |
Query Parameters
필드명 | 설명 | 타입 | 필수 여부 |
---|---|---|---|
details | 잔액 상세보기 여부 | boolean | N |
Header Parameters
필드명 | 설명 | 타입 | 필수 여부 |
---|---|---|---|
x-network | 블록체인 네트워크{ploygon, xpla} | string | Y |
Authorization | API를 호출하기 위한 인증 토큰 | string | Y |
Responses
필드명 | 설명 | 타입 |
---|---|---|
code | api 호출 결과 코드, 0:성공 | number |
message | 결과 메시지 | string |
data | API 응답 데이터 | json |
data.value | 토큰 잔액 | string |
data.rawValue | data.decimals 을 적용하지 않은 토큰 잔액 |
string |
data.symbol | 토큰 심볼 | string |
data.decimals | 토큰 소수점 최대 자리수 | number |
Request Sample
1 2 3 4 5 |
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...' |
Response Sample
1 2 3 4 5 6 7 8 9 10 |
{ "code": 0, "message": "success", "data": { "value": "999998999", "symbol": "ST", "decimals": 18, "rawValue": "999998999000000000000000000" } } |
대리 전송 가능한 토큰 수량 조회
토큰 소유자 계정인 from
이 spender
계정에게 자신 대신 토큰을 전송하도록 허용했을 때, 허용한 토큰 수량을 조회합니다.
Request URL
Live URL | https://bc-api.qpyou.cn/core/v1/ft/{contract}/account/{from}/allowance/{spender} |
---|---|
Sandbox URL | https://sandbox-bc-api.qpyou.cn/core/v1/ft/{contract}/account/{from}/allowance/{spender} |
HTTP Method | GET |
Content-Type | application/json |
Path Parameters
필드명 | 설명 | 타입 | 필수 여부 |
---|---|---|---|
contract | 토큰 컨트랙트 주소 | string | Y |
from | 토큰 소유자 계정 | string | Y |
spender | 토큰 전송 권한을 받은 계정 | string | Y |
Header Parameters
필드명 | 설명 | 타입 | 필수 여부 |
---|---|---|---|
x-network | 블록체인 네트워크{ploygon, xpla} | string | Y |
Authorization | API를 호출하기 위한 인증 토큰 | string | Y |
Responses
필드명 | 설명 | 타입 |
---|---|---|
code | api 호출 결과 코드, 0:성공 | number |
message | 결과 메시지 | string |
data | API 응답 데이터 | json |
data.allowance | 전송 가능한 토큰 수량 | string |
Request Sample
1 2 3 4 5 |
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...' |
Response Sample
1 2 3 4 5 6 7 |
{ "code": 0, "message": "success", "data": { "allowance": "0" } } |
토큰 전송
특정 주소로 토큰을 전송하는 트랜잭션을 생성합니다. from
은 토큰의 소유자 계정이어야 합니다. 전송 받을 계정(to
)이 컨트랙트이면 data
를 사용해 전송 받는 컨트랙트에서 추가 작업을 할 수 있습니다.
Request URL
Live URL | https://bc-api.qpyou.cn/core/v1/ft/{contract}/transfer |
---|---|
Sandbox URL | https://sandbox-bc-api.qpyou.cn/core/v1/ft/{contract}/transfer |
HTTP Method | POST |
Content-Type | application/json |
Path Parameters
필드명 | 설명 | 타입 | 필수 여부 |
---|---|---|---|
contract | 토큰 컨트랙트 주소 | string | Y |
Header Parameters
필드명 | 설명 | 타입 | 필수 여부 |
---|---|---|---|
x-network | 블록체인 네트워크{ploygon, xpla} | string | Y |
Authorization | API를 호출하기 위한 인증 토큰 | string | Y |
Request Body
필드명 | 설명 | 타입 | 필수 여부 |
---|---|---|---|
encoded | 반환받을 트랜잭션의 인코딩 여부
|
boolean | N |
from | 토큰을 전송할 계정 주소 | string | Y |
to | 토큰을 받을 계정 주소 | string | Y |
amount | 전송할 토큰 수량 | string | Y |
Responses
필드명 | 설명 | 타입 |
---|---|---|
code | api 호출 결과 코드, 0:성공 | number |
message | 결과 메시지 | string |
data | API 응답 데이터 | json |
data.rawTx | 트랜잭션 데이터 | string 또는 json |
data.hashedTx | 해시한 data.rawTx 입니다. API 헤더 x-network 가 polygon이고 Request Body from 이 다중 서명 지갑 주소일 때에만 이 값을 받습니다. |
string |
data.requestId | API 요청을 식별할 수 있는 고유값 | string |
Request Sample
1 2 3 4 5 6 7 8 9 10 11 12 |
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" }' |
Response Sample
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
// 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
를 사용해 전송 받는 컨트랙트에서 추가 작업을 할 수 있습니다.
Request URL
Live URL | https://bc-api.qpyou.cn/core/v1/ft/{contract}/transfer-from |
---|---|
Sandbox URL | https://sandbox-bc-api.qpyou.cn/core/v1/ft/{contract}/transfer-from |
HTTP Method | POST |
Content-Type | application/json |
Path Parameters
필드명 | 설명 | 타입 | 필수 여부 |
---|---|---|---|
contract | 컨트랙트 주소 | string | Y |
Header Parameters
필드명 | 설명 | 타입 | 필수 여부 |
---|---|---|---|
x-network | 블록체인 네트워크{ploygon, xpla} | string | Y |
Authorization | API를 호출하기 위한 인증 토큰 | string | Y |
Request Body
필드명 | 설명 | 타입 | 필수 여부 |
---|---|---|---|
from | 토큰 전송 권한을 받은 계정의 지갑 주소 | string | Y |
to | 토큰을 전송받을 지갑 주소 | string | Y |
amount | 전송할 토큰 수량 | string | Y |
data | 컨트랙트로 전송 시 전달할 데이터 | string | Y |
owner | 토큰을 실제 소유한 계정의 지갑 주소 | string | Y |
encoded | 반환받을 트랜잭션의 인코딩 여부
|
boolean | N |
Responses
필드명 | 설명 | 타입 |
---|---|---|
code | api 호출 결과 코드, 0:성공 | number |
message | 결과 메시지 | string |
data | API 응답 데이터 | json |
data.rawTx | 트랜잭션 데이터 | string 또는 json |
data.hashedTx | 해시한 data.rawTx 입니다. API 헤더 x-network 가 polygon이고 Request Body from 이 다중 서명 지갑 주소일 때에만 이 값을 받습니다. |
string |
data.requestId | API 요청을 식별할 수 있는 고유값 | string |
Request Sample
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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" }' |
Response Sample
1 2 3 4 5 6 7 8 9 |
{ "code": 0, "message": "success", "data": { "rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8...", "hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...", "requestId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29" } } |
토큰을 전송할 권한 부여
from
계정이 to
계정에게 자신을 대리해서 amount
수량만큼의 토큰을 전송할 권한을 부여하는 트랜잭션을 생성합니다. from
은 토큰의 소유자이어야 합니다.
Request URL
Live URL | https://bc-api.qpyou.cn/core/v1/ft/{contract}/approve |
---|---|
Sandbox URL | https://sandbox-bc-api.qpyou.cn/core/v1/ft/{contract}/approve |
HTTP Method | POST |
Content-Type | application/json |
Path Parameters
필드명 | 설명 | 타입 | 필수 여부 |
---|---|---|---|
contract | 토큰 컨트랙트 주소 | string | Y |
Header Parameters
필드명 | 설명 | 타입 | 필수 여부 |
---|---|---|---|
x-network | 블록체인 네트워크{ploygon, xpla} | string | Y |
Authorization | API를 호출하기 위한 인증 토큰 | string | Y |
Request Body
필드명 | 설명 | 타입 | 필수 여부 |
---|---|---|---|
from | 토큰 소유자 계정 지갑 주소 | string | Y |
to | 토큰 전송 권한을 부여받을 계정 지갑 주소 | string | Y |
amount | 전송할 토큰 수량 | string | Y |
encoded | 반환받을 트랜잭션의 인코딩 여부
|
boolean | N |
Responses
필드명 | 설명 | 타입 |
---|---|---|
code | api 호출 결과 코드, 0:성공 | number |
message | 결과 메시지 | string |
data | API 응답 데이터 | json |
data.rawTx | 트랜잭션 데이터 | string 또는 json |
data.hashedTx | 해시한 data.rawTx 입니다. API 헤더 x-network 가 polygon이고 Request Body from 이 다중 서명 지갑 주소일 때에만 이 값을 받습니다. |
string |
data.requestId | API 요청을 식별할 수 있는 고유값 | string |
Request Sample
1 2 3 4 5 6 7 8 9 10 11 12 |
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" }' |
Response Sample
1 2 3 4 5 6 7 8 9 |
{ "code": 0, "message": "success", "data": { "rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8...", "hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...", "requestId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29" } } |
토큰 컨트랙트 배포
표준 토큰 컨트랙트를 배포하는 트랜잭션을 생성합니다.
Request URL
Live URL | https://bc-api.qpyou.cn/core/v1/ft/contract |
---|---|
Sandbox URL | https://sandbox-bc-api.qpyou.cn/core/v1/ft/contract |
HTTP Method | POST |
Content-Type | application/json |
Header Parameters
필드명 | 설명 | 타입 | 필수 여부 |
---|---|---|---|
x-network | 블록체인 네트워크{ploygon, xpla} | string | Y |
Authorization | API를 호출하기 위한 인증 토큰 | string | Y |
Request Body
필드명 | 설명 | 타입 | 필수 여부 |
---|---|---|---|
from | 토큰 컨트랙트를 배포할 지갑 주소 | string | Y |
name | 토큰 이름 | string | Y |
symbol | 토큰 심볼 | string | Y |
decimals | 토큰 소수점 최대 자리수 | number | Y |
initialSupply | 초기 토큰 발행량 | string | Y |
encoded | 반환받을 트랜잭션의 인코딩 여부
|
boolean | N |
Responses
필드명 | 설명 | 타입 |
---|---|---|
code | api 호출 결과 코드, 0:성공 | number |
message | 결과 메시지 | string |
data | API 응답 데이터 | json |
data.rawTx | 트랜잭션 데이터 | string 또는 json |
data.hashedTx | 해시한 data.rawTx 입니다. API 헤더 x-network 가 polygon이고 Request Body from 이 다중 서명 지갑 주소일 때에만 이 값을 받습니다. |
string |
data.requestId | API 요청을 식별할 수 있는 고유값 | string |
Request Sample
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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" }' |
Response Sample
1 2 3 4 5 6 7 8 9 |
{ "code": 0, "message": "success", "data": { "rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8...", "hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...", "requestId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29" } } |