콘텐츠로 이동

Token API

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

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

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

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

{
  "code": 0,
  "message": "success",
  "data": {
    "value": "999998999",
    "symbol": "ST",
    "decimals": 18,
    "rawValue": "999998999000000000000000000"
  }
}

대리 전송 가능한 토큰 수량 조회

토큰 소유자 계정인 fromspender 계정에게 자신 대신 토큰을 전송하도록 허용했을 때, 허용한 토큰 수량을 조회합니다.

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

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

{
  "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 반환받을 트랜잭션의 인코딩 여부 true: data.rawTx으로 인코딩된 Raw Transaction String을 받습니다. false: data.rawTx으로 인코딩을 디코딩한 JSON 결과값을 받습니다. 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

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

// 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 반환받을 트랜잭션의 인코딩 여부 true: data.rawTx으로 인코딩된 Raw Transaction String을 받습니다. false: data.rawTx으로 인코딩을 디코딩한 JSON 결과값을 받습니다. 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

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

{
  "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 반환받을 트랜잭션의 인코딩 여부 true: data.rawTx으로 인코딩된 Raw Transaction String을 받습니다. false: data.rawTx으로 인코딩을 디코딩한 JSON 결과값을 받습니다. 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

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

{
  "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 반환받을 트랜잭션의 인코딩 여부 true: data.rawTx으로 인코딩된 Raw Transaction String을 받습니다. false: data.rawTx으로 인코딩을 디코딩한 JSON 결과값을 받습니다. 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

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

{
  "code": 0,
  "message": "success",
  "data": {
    "rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8...",
    "hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
    "requestId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
  }
}