Klaytn API Service (KAS)
Klaytn API Service (KAS)는 블록체인 플랫폼인 Klaytn을 API로 사용할 수 있는 서비스입니다. KAS를 사용하면 기존 Klaytn을 사용했을 때보다 개발의 용이성, 생산성, 효율성을 높여서 블록체인 애플리케이션을 개발할 수 있습니다.
일반적으로 블록체인 애플리케이션은 블록체인 플랫폼에 트랜잭션을 보내려는 목적으로 사용합니다. 지금까지는, 엔터프라이즈 환경에서 Klaytn 혹은 이더리움에 트랜잭션을 보내려면 비싼 비용을 지불하고 고성능의 노드를 준비해 운영해야 했고, 여러 계정(Account)을 만들고 이들의 개인키-공개키 쌍을 일일이 관리해야 했습니다.
하지만, KAS를 사용하면 여러분은 노드를 설치, 운영하거나 계정 키를 관리할 필요가 없습니다. 트랜잭션 전송과 관련된 모든 작업을 REST API 혹은 SDK로 실행할 수 있습니다. 또 블록체인 계정을 그룹화하여 용도별로 묶어 관리할 수 있으며 서비스 체인을 운영할 경우 메인 체인에 데이터를 앵커링하는 작업도 API로 간단히 수행할 수 있습니다.
뿐만 아니라, 여러분의 토큰 컨트랙트(KIP-7, KIP-17, ERC-20, ERC-721)로 발행한 모든 토큰 정보와 이 토큰들을 다른 계정에게 전송한 트랜잭션 이력도 조회하는 기능도 제공합니다. 여러분이 KAS 사용으로 얻는 장점을 정리하면 아래와 같습니다.
1. 블록체인 노드를 운영하고 관리하는 비용 절감
2. 개발 속도와 편의성 증가
- API 호출로 Klaytn에서 지원하는 모든 타입의 트랜잭션 전송 가능
- KLAY, KIP-7, KIP-17, ERC-20, ERC-721 토큰 거래내역 조회
- 토큰 컨트랙트 정보와 토큰 전송 기록을 열람하는 다양한 방법 제공
3. 안전한 Klaytn 계정 키 관리
- Klaytn 계정의 개인 키 유출이 불가능한 구조를 사용
- 독자적인 Klaytn 지갑을 쉽게 개발 가능
- 다중 서명 키 지원
4. 손 쉬운 데이터 앵커링
API
Klaytn Node API
Klaytn Node API는 여러분이 Klaytn 노드에 직접 접속하여 JSON-RPC API를 호출하는 기능을 제공합니다.
info
현재 KAS는 Klaytn의 일부 JSON-RPC API만을 지원합니다. KAS에서 지원하는 JSON-RPC API 목록은 다음을 확인하십시오.
여러분은 JSON-RPC API를 호출해 다음 작업을 할 수 있습니다:
- Klaytn 계정, 블록, 트랜잭션, 필터, 네트워크 정보 조회 및 설정
- Klaytn 노드 환경설정
Klaytn Node API를 사용하는 방법에 관한 자세한 내용은 튜토리얼을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 개발자 포럼을 방문해 도움 받으십시오.
Wallet API
Wallet API는 Klaytn 계정을 관리하고 다양한 트랜잭션 타입을 Klaytn에 전송하는 기능을 제공합니다. 여러분은 Wallet API를 호출해 다음 작업을 할 수 있습니다:
- 계정(Account) 관리
- 계정 키(AccountKey) 업데이트
- 트랜잭션 전송
Wallet API를 사용하는 방법에 관한 자세한 내용은 튜토리얼을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 개발자 포럼을 방문해 도움 받으십시오.
Token History API
Token History API는 KLAY, FT(KIP-7, Labeled ERC-20), NFT(KIP-17, Labeled ERC-721), MT(KIP-37, Labeled ERC-1155) 토큰 정보와 토큰 송수신 기록을 조회하는 기능을 제공합니다. 여러분은 Token History API를 호출해 다음 작업을 할 수 있습니다:
- 특정 Klaytn 계정이 소유한 토큰 조회하기
- KLAY 전송 기록 조회하기
- 대체 가능 토큰(Fungible Token) 전송 기록 조회하기
- 대체 불가 토큰(Non-Fungible Token) 전송 기록 조회하기
- 멀티 토큰(Multi Token) 전송 기록 조회하기
Token History API를 사용하는 방법에 관한 자세한 내용은 튜토리얼을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 개발자 포럼을 방문해 도움 받으십시오.
Anchor API
Anchor API는 서비스 체인 데이터를 Klaytn 메인 체인에 앵커링하는 기능을 제공합니다.
Anchor API를 사용하는 방법에 관한 자세한 내용은 튜토리얼을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 개발자 포럼을 방문해 도움 받으십시오.
KIP-17 API
KIP-17 API는 Klaytn의 KIP-17 표준 컨트랙트와 토큰(NFT)에 관련된 다양한 기능을 제공합니다. 여러분은 KIP-17 API를 호출해 다음 작업을 할 수 있습니다:
- 컨트랙트 배포/조회
- 토큰 발행/전송/소각/조회
- 토큰 전송 권한 부여/해제
- 소유권 기록 조회
KIP-17 API를 사용하는 방법에 관한 자세한 내용은 튜토리얼을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 개발자 포럼을 방문해 도움 받으십시오.
KIP-7 API
KIP-7 API는 Klaytn의 KIP-7 표준 컨트랙트와 토큰에 관련된 다양한 기능을 제공합니다. 여러분은 KIP-7 API를 호출해 다음 작업을 할 수 있습니다:
- 컨트랙트 배포/조회/중지/재개
- 토큰 발행/전송/소각/조회
- 토큰 전송 권한 부여/해제
- 토큰 대리 전송
KIP-7 API를 사용하는 방법에 관한 자세한 내용은 튜토리얼을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 개발자 포럼을 방문해 도움 받으십시오.
KIP-37 API
KIP-37 API는 Klaytn의 KIP-37 표준 컨트랙트와 토큰(MT)에 관련된 다양한 기능을 제공합니다. 여러분은 KIP-37 API를 호출해 다음 작업을 할 수 있습니다:
- 컨트랙트 배포/조회/중지/재개
- 토큰 발행/전송/소각/중지/재개
- 토큰 목록 조회
KIP-37 API를 사용하는 방법에 관한 자세한 내용은 튜토리얼을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 개발자 포럼을 방문해 도움 받으십시오.
KAS Console
KAS Console은 KAS API를 사용하고 관리하기 위한 웹 애플리케이션입니다. KAS Console에서는 아래와 같은 작업을 할 수 있습니다.
- KAS API를 호출할 때 필요한 API 인증 키 생성
- API 호출 권한을 설정
- API에서 사용할 Klaytn 계정을 보관, 관리
- 그 외 KAS 서비스에 대한 관리 수행
이 문서 혹은 KAS에 관한 문의는 개발자 포럼을 방문해 도움 받으십시오.
KAS SDK
KAS SDK(Software Development Kit)는 여러 개발 환경에서 KAS를 쉽게 사용하도록 제공되는 개발 도구입니다. Caver의 확장 라이브러리이며 Caver와 마찬가지로 JavaScript와 Java 환경을 지원합니다. KAS SDK로 BApp을 개발하면 하나의 라이브러리를 통해 KAS 기능과 기존 Caver의 기능을 모두 사용할 수 있습니다.
KAS SDK(caver-js extension)와 KAS SDK(caver-java extension)는 각각 caver-js와 caver-java의 확장 라이브러리로 이를 사용해 기존의 caver-js/caver-java 기능을 사용함과 동시에 KAS의 Node API, TokenHistory API, Wallet API, Anchor API, KIP-17 API 그리고 KIP-7 API도 사용하실 수 있습니다.
SDK 사용 환경 구축
KAS SDK (caver-js extension)
KAS SDK(caver-js extension)를 사용하려면 아래 패키지들이 필요합니다.
KAS SDK(caver-js extension)는 아래 Node.js 버전에서 동작합니다.
KAS SDK (caver-java extension)
KAS SDK(caver-java extension)를 사용하려면 Java 8 이상이 필요합니다.
이 문서 혹은 KAS에 관한 문의는 개발자 포럼을 방문해 도움 받으십시오.
SDK 설치 방법
KAS SDK(caver-js extension) 설치
KAS SDK(caver-js extension)는 아래의 command를 사용하여 설치할 수 있습니다.
$ npm install caver-js-ext-kas
만약 KAS SDK(caver-js extension)의 특정 버전을 설치하고 싶은 경우 아래의 command를 사용하세요.
$ npm install caver-js-ext-kas@X.X.X
KAS SDK(caver-java extension) 설치
maven
Maven project에서 KAS SDK(caver-java extension) 라이브러리를 설치하기 위해서는 아래와 같이 작성하면 설치 할 수 있습니다.
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>xyz.groundx.caver</groupId>
<artifactId>caver-java-ext-kas</artifactId>
<version>X.X.X</version>
</dependency>
</dependencies>
Maven project에서 android용 KAS SDK(caver-java extension) 라이브러리는 아래와 같이 작성하면 설치할 수 있습니다.
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>xyz.groundx.caver</groupId>
<artifactId>caver-java-ext-kas</artifactId>
<version>X.X.X-android</version>
</dependency>
</dependencies>
gradle
implementation 'xyz.groundx.caver:caver-java-ext-kas:X.X.X
Gradle project에서 android용 KAS SDK(caver-java extension) 라이브러리는 아래와 같이 작성하면 설치할 수 있습니다.
implementation 'xyz.groundx.caver:caver-java-ext-kas:X.X.X-android
KAS SDK(caver-java extension)의 최신 버전은 Release Page에서 확인할 수 있습니다.
caver-js에 관한 자세한 내용은 다음을 확인하십시오.
caver-java에 관한 자세한 내용은 다음을 확인하십시오.
이 문서 혹은 KAS에 관한 문의는 개발자 포럼을 방문해 도움 받으십시오.