KAS Docs Dev
한국어
한국어
  • Introduction
  • Basics
    • KAS 콘솔
    • KAS API
  • Getting Started
    • KAS 가입, 인증, 권한, SDK 설치
    • KAS Project 생성, 수정, 관리
    • 클레이튼 계정 생성
    • API 호출
    • 마이그레이션 가이드
  • Tutorial
    • 메타 정보 조회
    • JSON-RPC API
    • 계정 생성과 관리
    • 트랜잭션 전송
      • KLAY 보내기
      • 스마트 컨트랙트 배포
      • 스마트 컨트랙트 실행
      • 보류중인 트랜잭션 취소
      • RLP 문자열 트랜잭션
      • 계정 업데이트
      • 데이터 앵커링
      • 다중 서명 트랜잭션
      • 기타
    • 토큰 정보 조회
      • 송/수신 기록 조회
      • 토큰 컨트랙트 조회
      • NFT 정보 조회
      • NFT 소유권 변동 조회
    • 데이터 앵커링
    • KAS 기반 BApp 예시
      • 명품 영수증 관리 애플리케이션
      • 커피 원격 주문 애플리케이션
    • NFT 컨트랙트 배포 및 토큰 발행/전송
    • FT 컨트랙트 배포 및 토큰 발행/전송
    • MT 컨트랙트 배포 및 토큰 발행/전송
  • API
    • Klaytn Node API
    • Token History API
    • Wallet API
    • Anchor API
    • KIP-7 API
    • KIP-17 API
    • KIP-37 API
    • Metadata API
    • API Change Log
  • SDK
    • caver-js-ext-kas
    • caver-java-ext-kas
  • 개발자 포럼
  • 개인정보처리방침
  • 서비스 이용약관
Powered by GitBook
On this page
  • 튜토리얼에 앞서
  • FT 컨트랙트 목록 조회
  • 쿼리 파라미터
  • API 호출
  • API 응답
  • 특정 FT 컨트랙트 조회
  • API 호출
  • API 응답
  • NFT 컨트랙트 목록 조회
  • 쿼리 파라미터
  • API 호출
  • API 응답
  • 특정 NFT 컨트랙트 조회
  • API 호출
  • API 응답

Was this helpful?

  1. Tutorial
  2. 토큰 정보 조회

토큰 컨트랙트 조회

이 페이지는 Token History API를 사용하여 FT, NFT 토큰 컨트랙트의 정보를 조회하는 방법을 안내합니다.

Previous송/수신 기록 조회NextNFT 정보 조회

Last updated 3 years ago

Was this helpful?

튜토리얼에 앞서

  • 여기에서 소개하는 API는 HTTP 방식만을 사용하십시오.

  • API 호출에 사용되는 x-chain-id 값은 8217(Cypress) 또는 1001(Baobab)입니다.

  • API 호출에 필요한 필수 파라미터는 각 예시에 설명됩니다.

API 호출 시 사용자가 입력해야 하는 값은 중괄호 1개({})로 표시합니다. 사용자가 입력해야 하는 값은 아래 테이블과 같습니다.

항목

값

비고

chain-id

8217 또는 1001

Cypress(Klaytn 메인넷) 또는 Baobab(Klaytn 테스트넷)

access-key-id

인증 아이디

KAS 콘솔 - Security - Credential에서 발급받은 accessKeyId

secret-access-key

인증 비밀번호

KAS 콘솔 - Security - Credential에서 발급받은 secretAccessKey

krn

(optional) 계정 저장소의 ID

기본 계정 저장소 사용 시 불필요

API 인증 키가 있으면 모든 KAS 서비스를 사용할 수 있으며 Wallet API를 호출해 만든 Klaytn 계정에 대한 모든 권한을 소유합니다. 모든 권한에는 Klaytn 계정의 자산(KLAY 등) 이동이나 전송 및 실행 권한이 포함됩니다. 만약 API 인증 키에 타인이 접근한다면 Klaytn 계정 권한을 탈취당해 원치 않는 트랜잭션이 발생할 수 있습니다.

KAS/Klaytn 계정 보안을 위해 KAS API 인증 키(Secret Access Key)를 타인과 함부로 공유하지 말고 주의해 관리하십시오.

FT 컨트랙트 목록 조회

라벨링된 FT 컨트랙트 목록을 조회합니다.

FT 컨트랙트란 클레이튼에 배포되는 스마트 컨트랙트의 일종입니다. 이 컨트랙트는 (Fungible Token, FT)을 발행, 삭제, 전송하는 기능을 제공합니다.

라벨(Label)이란 KAS가 어떤 토큰 컨트랙트 정보를 추적하기 위해 토큰 컨트랙트에 붙인 표식입니다. KAS는 라벨링된 토큰 컨트랙트만을 계속 추적합니다. 이 API는 라벨링된 FT 컨트랙트 목록을 불러옵니다. 라벨링에 관한 자세한 내용은 을 확인하십시오.

쿼리 파라미터

파라미터 이름

설명

예시

필수

status

라벨링 상태 ["completed", "processing", "failed", "cancelled"]

status=completed

False

type

컨트랙트 타입 (KIP 표준을 따르는 컨트랙트는 "kip", ERC 표준을 따르는 컨트랙트는 "erc", 그 외는 빈 문자열)

type=kip

False

size

응답 아이템 개수 (min=1, max=1000, default=100)

size=100

False

cursor

페이지네이션으로 다음 요청을 보낼 때 필요한 커서

cursor=J9Ag...VM6z

False

API 호출

다음과 같이 라벨링된 FT 컨트랙트 목록을 조회합니다.

curl --location --request GET "https://th-api.klaytnapi.com/v2/contract/ft?status=completed&type=kip&size=100&cursor=J9Ag...VM6z" \
    --header "x-chain-id: {chain-id}" \
    -u {access-key-id}:{secret-access-key}
const query = {
    status: caver.kas.tokenHistory.queryOptions.status.COMPLETED,
    size: 1,
    type: caver.kas.tokenHistory.queryOptions.type.KIP7,
}
const result = await caver.kas.tokenHistory.getFTContractList(query)
TokenHistoryQueryOptions options = new TokenHistoryQueryOptions();
options.setStatus("completed");
options.setSize((long)1);
options.setType("KIP-7");

PageableFtContractDetails details = caver.kas.tokenHistory.getFTContractList(options);
System.out.println(details);

API 응답

요청이 성공할 경우 다음과 같이 FT 컨트랙트 목록을 응답으로 받게됩니다.

{
    "items": [
        {
            "address": "0x275f942985503d8ce9558f8377cc526a3aba3566",
            "decimals": 18,
            "link": {
                "icon": "",
                "website": ""
            },
            "name": "ProjectWITH",
            "symbol": "WIKEN",
            "totalSupply": "0x36afb02a36d33e82de40000",
            "status": "completed",
            "type": "erc",
            "createdAt": 1593355639,
            "updatedAt": 1593355639,
            "deletedAt": 0
        },
        {
            "address": "0x46f307b58bf05ff089ba23799fae0e518557f87c",
            "decimals": 18,
            "link": {
                "icon": "",
                "website": ""
            },
            "name": "Airbloc",
            "symbol": "ABL",
            "totalSupply": "0x134b7e13729b9d839f00000",
            "status": "completed",
            "type": "erc",
            "createdAt": 1593355615,
            "updatedAt": 1593355615,
            "deletedAt": 0
        },
        ...,
        {
            "address": "0xb1a7abe0c5a9e06cc7585a435e74976d2dee07f3",
            "decimals": 2,
            "link": {
                "icon": "",
                "website": ""
            },
            "name": "BlockchainPetToken",
            "symbol": "BPT",
            "totalSupply": "0x30141cb58",
            "status": "completed",
            "type": "kip",
            "createdAt": 1593353416,
            "updatedAt": 1593353416,
            "deletedAt": 0
        }
    ],
    "cursor": ""
}
PageableFtContractDetails {
    items: [
        FtContractDetail {
            address: '0x4a29e5f60090a75de0f62c6224e04e0f610ca4af',
            decimals: 18,
            name: 'KALE',
            symbol: 'KAL',
            status: 'completed',
            totalSupply: '0x152d02c7e14af6800000',
            createdAt: 1601020509,
            updatedAt: 1601020509,
            deletedAt: 0,
            link: undefined,
            type: 'KIP-7'
        }
    ],
    cursor: 'MBX6wNrK2QdWJp0xqG1XJp8zWxPwqVGLO0bYaAorYo3DgvpM0xVk5BwL9Zl1emRNB3RJdObWzAQq46PaNGE287rXKgZQdM2K4Dmke7E93B56NlvLg9zbDZeVv7o1POlA'
}
class PageableFtContractDetails {
    items: [class FtContractDetail {
        address: 0x4a29e5f60090a75de0f62c6224e04e0f610ca4af
        decimals: 18
        name: KALE
        symbol: KAL
        status: completed
        totalSupply: 0x152d02c7e14af6800000
        createdAt: 1601020509
        updatedAt: 1601020509
        deletedAt: 0
        link: null
        type: KIP-7
    }]
    cursor: MBX6wNrK2QdWJp0xqG1XJp8zWxPwqVGLO0bYaAorYo3DgvpM0xVk5BwL9Zl1emRNB3RJdObWzAQq46PaNGE287rXKgZQdM2K4Dmke7E93B56NlvLg9zbDZeVv7o1POlA
}

특정 FT 컨트랙트 조회

특정 FT 컨트랙트 정보를 조회합니다.

API 호출

다음 요청은 0xbe7377db700664331beb28023cfbd46de079efac 주소에 위치한 FT 컨트랙트의 정보를 조회합니다.

curl --location --request GET "https://th-api.klaytnapi.com/v2/contract/ft/0xbe7377db700664331beb28023cfbd46de079efac" \
    --header "x-chain-id: {chain-id}" \
    -u {access-key-id}:{secret-access-key}
const result = await caver.kas.tokenHistory.getFTContract('0x4a29e5f60090a75de0f62c6224e04e0f610ca4af')
String address = "0xa35fc8998eee155ec1a9a693f83c7d6c5a3ef927";
FtContractDetail contract = caver.kas.tokenHistory.getFTContract(address);
System.out.println(contract);
  • ft-address(0xbe7377db700664331beb2...)는 조회하려는 FT 컨트랙트의 주소이며 필수 입력값입니다.

API 응답

요청이 성공할 경우 다음과 같은 응답을 받습니다.

{
    "address": "0xbe7377db700664331beb28023cfbd46de079efac",
    "decimals": 18,
    "link": {
        "icon": "",
        "website": ""
    },
    "name": "Att",
    "symbol": "att",
    "totalSupply": "0x2863c1f5cdae42f9540000000",
    "status": "completed",
    "type": "erc",
    "createdAt": 1593355554,
    "updatedAt": 1593355554,
    "deletedAt": 0
}
FtContractDetail {
    address: '0x4a29e5f60090a75de0f62c6224e04e0f610ca4af',
    decimals: 18,
    name: 'KALE',
    symbol: 'KAL',
    status: 'completed',
    totalSupply: '0x152d02c7e14af6800000',
    createdAt: 1601020509,
    updatedAt: 1601020509,
    deletedAt: 0,
    link: undefined,
    type: 'KIP-7'
}
class FtContractDetail {
    address: 0xa35fc8998eee155ec1a9a693f83c7d6c5a3ef927
    decimals: 18
    name: SummerToken
    symbol: JUN
    status: completed
    totalSupply: 0x52b7d2dcc80cd2e4000000
    createdAt: 0
    updatedAt: 0
    deletedAt: 0
    link: null
    type: KIP-7
}

NFT 컨트랙트 목록 조회

라벨링된 NFT 컨트랙트 목록을 조회합니다.

쿼리 파라미터

파라미터 이름

설명

예시

필수

status

라벨링 상태 ["completed", "processing", "failed", "cancelled"]

status=completed

False

type

컨트랙트 타입 (KIP 표준을 따르는 컨트랙트는 "kip", ERC 표준을 따르는 컨트랙트는 "erc", 그 외는 빈 문자열)

type=kip

False

size

응답 아이템 개수 (min=1, max=1000, default=100)

size=100

False

cursor

페이지네이션으로 다음 요청을 보낼 때 필요한 커서

cursor=J9Ag...VM6z

False

API 호출

다음과 같이 라벨링된 NFT 컨트랙트 목록을 조회합니다.

curl --location --request GET "https://th-api.klaytnapi.com/v2/contract/nft?status=completed&type=kip&size=100&cursor=J9Ag...VM6z" \
    --header "x-chain-id: {chain-id}" \
    -u {access-key-id}:{secret-access-key}
const query = {
    status: caver.kas.tokenHistory.queryOptions.status.COMPLETED,
    size: 1,
    type: caver.kas.tokenHistory.queryOptions.type.KIP17,
}
const result = await caver.kas.tokenHistory.getNFTContractList(query)
TokenHistoryQueryOptions options = new TokenHistoryQueryOptions();
options.setStatus("completed");
options.setSize((long)1);
options.setType("KIP-17");

PageableNftContractDetails details = caver.kas.tokenHistory.getNFTContractList(options);
System.out.println(details);

API 응답

요청이 성공할 경우 다음과 같이 NFT 컨트랙트 목록을 응답으로 받게됩니다.

{
    "items": [
        {
            "address": "0xc60e442725d3fe651cfab999e045409f94db9416",
            "name": "MineralNFT",
            "symbol": "FSI",
            "totalSupply": "0x0",
            "status": "completed",
            "type": "kip",
            "createdAt": 1598650844,
            "updatedAt": 1598650844,
            "deletedAt": 0
        },
        ...,
        {
            "address": "0x1f49e1d2a4691e4514ae91bc3040767cf344ad82",
            "name": "Klaytn Champ",
            "symbol": "CHAMP",
            "totalSupply": "0x49",
            "status": "completed",
            "type": "kip",
            "createdAt": 1593353198,
            "updatedAt": 1593353198,
            "deletedAt": 0
        }
    ],
    "cursor": "MBX6wNrK2QdWJp0xqG1XJp8zWxPwqVGLO0bYaAorYo3DgvpM0xVk5BwL9Zl1emRNqyJdObWzAQq46PaNGE287rXKgZQdM2K4Dmke7E93B56NlvLg9zbDZeVv7o1POlAa"
}
PageableNftContractDetails {
    items: [
        NftContractDetail {
            address: '0xb18e06e815ccbc9c0873b45df0a08c1ded175190',
            name: 'KIP17',
            symbol: 'KIP17',
            totalSupply: '0x0',
            createdAt: 1602137778,
            updatedAt: 1602137778,
            deletedAt: 0,
            type: 'KIP-17',
            status: 'completed'
        }
    ],
    cursor: '2MBxPQoJVOwp63erbdl3qxeoMJrb24Z19LG0pBEm1N4ZG052deEKBwQVarxMmoy5xBnkXg9DA63qPLJl7WpvbOz8YX7VadP5zvkDAWN8OQgwYK6Elzg97kLA8WK4XZ5D'
}
class PageableNftContractDetails {
    items: [class NftContractDetail {
        address: 0x1d15887950aa821814b793ed4a4cfa38937df5da
        name: KIP17
        symbol: KIP17
        totalSupply: 0x0
        createdAt: 1602495497
        updatedAt: 1602495497
        deletedAt: 0
        type: KIP-17
        status: completed
    }]
    cursor: owN0deEJPGMZ69Q3L5V34MAgJ5xpNmrQ9lWk0EDvxv7bkQq1aLX58AZz0GlgNEyd1kRwK94JBdVP6rm3eopO2DMWYz6BKoXPYbdOewaGqZ1728La7rbx8YDBgW2lkqAK
}

특정 NFT 컨트랙트 조회

특정 NFT 컨트랙트 정보를 조회합니다.

API 호출

다음 요청은 0x90d535c434e967ec6e9accb0de5dcb34010865e0 주소에 위치한 NFT 컨트랙트의 정보를 조회합니다.

curl --location --request GET "https://th-api.klaytnapi.com/v2/contract/nft/0x90d535c434e967ec6e9accb0de5dcb34010865e0" \
    --header "x-chain-id: {chain-id}" \
    -u {access-key-id}:{secret-access-key}
const result = await caver.kas.tokenHistory.getNFTContract('0xbbe63781168c9e67e7a8b112425aa84c479f39aa')
String addr = "0xbbe63781168c9e67e7a8b112425aa84c479f39aa";
NftContractDetail detail = caver.kas.tokenHistory.getNFTContract(addr);

System.out.println(detail);
  • nft-address(0x90d535c434e967ec6e9acc...)는 조회하려는 NFT 컨트랙트의 주소이며 필수 입력값입니다.

API 응답

요청이 성공할 경우 다음과 같은 응답을 받습니다.

{
    "address": "0x90d535c434e967ec6e9accb0de5dcb34010865e0",
    "name": "GET TICKET NFT V01",
    "symbol": "GETticket NFT",
    "totalSupply": "0x7",
    "status": "completed",
    "type": "kip",
    "createdAt": 1597743588,
    "updatedAt": 1597743588,
    "deletedAt": 0
}
NftContractDetail {
    address: '0xbbe63781168c9e67e7a8b112425aa84c479f39aa',
    name: 'Jasmine',
    symbol: 'JAS',
    totalSupply: '0x36',
    createdAt: 1599101533,
    updatedAt: 1599101533,
    deletedAt: 0,
    type: 'KIP-17',
    status: 'completed'
}
class PageableNftContractDetails {
    items: [class NftContractDetail {
        address: 0x1d15887950aa821814b793ed4a4cfa38937df5da
        name: KIP17
        symbol: KIP17
        totalSupply: 0x0
        createdAt: 1602495497
        updatedAt: 1602495497
        deletedAt: 0
        type: KIP-17
        status: completed
    }]
    cursor: owN0deEJPGMZ69Q3L5V34MAgJ5xpNmrQ9lWk0EDvxv7bkQq1aLX58AZz0GlgNEyd1kRwK94JBdVP6rm3eopO2DMWYz6BKoXPYbdOewaGqZ1728La7rbx8YDBgW2lkqAK
}

여러분은 라벨링 상태, 컨트랙트 타입 등을 선택하여 FT 컨트랙트 목록을 조회할 수 있습니다. 또 을 사용해 API 응답값을 받아올 수 있습니다.

이 API에 관한 자세한 내용은 을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 을 방문해 도움을 받으십시오.

FT 컨트랙트란 클레이튼에 배포되는 스마트 컨트랙트의 일종입니다. 이 컨트랙트는 (Fungible Token, FT)을 발행, 삭제, 전송하는 기능을 제공합니다.

이 API에 관한 자세한 내용은 을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 을 방문해 도움을 받으십시오.

NFT 컨트랙트란 클레이튼에 배포되는 스마트 컨트랙트의 일종입니다. 이 컨트랙트는 (Non-Fungible Token, NFT)을 발행, 삭제, 전송하는 기능을 제공합니다.

라벨(Label)이란 KAS가 어떤 토큰 컨트랙트 정보를 추적하기 위해 토큰 컨트랙트에 붙인 표식입니다. KAS는 라벨링된 토큰 컨트랙트만을 계속 추적합니다. 이 API는 라벨링된 FT 컨트랙트 목록을 불러옵니다. 라벨링에 관한 자세한 내용은 을 확인하십시오.

여러분은 라벨링 상태, 컨트랙트 타입 등을 선택하여 FT 컨트랙트 목록을 조회할 수 있습니다. 또 을 사용해 API 응답값을 받아올 수 있습니다.

이 API에 관한 자세한 내용은 을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 을 방문해 도움을 받으십시오.

NFT 컨트랙트란 클레이튼에 배포되는 스마트 컨트랙트의 일종입니다. 이 컨트랙트는 (Non-Fungible Token, NFT)을 발행, 삭제, 전송하는 기능을 제공합니다.

이 API에 관한 자세한 내용은 을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 을 방문해 도움을 받으십시오.

다음
개발자 포럼
대체 가능 토큰
다음
개발자 포럼
대체 불가 토큰
다음
개발자 포럼
대체 불가 토큰
다음
개발자 포럼
트랜잭션
대체 가능 토큰
다음
다음
커서 방식 페이지네이션
커서 방식 페이지네이션