> For the complete documentation index, see [llms.txt](https://ground-x.gitbook.io/kas-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ground-x.gitbook.io/kas-docs/readme.md).

# 소개

## Klaytn API Service (KAS)

Klaytn API Service (KAS)는 블록체인 플랫폼인 Klaytn을 API로 사용할 수 있는 서비스입니다. KAS를 사용하면 기존 Klaytn을 사용했을 때보다 개발의 용이성, 생산성, 효율성을 높여서 블록체인 애플리케이션을 개발할 수 있습니다.

![Klaytn API Service](/files/L2XTuVsEhm2HyyJGRhZy)

일반적으로 블록체인 애플리케이션은 블록체인 플랫폼에 트랜잭션을 보내려는 목적으로 사용합니다. 지금까지는, 엔터프라이즈 환경에서 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 메인 체인인 Cypress에 앵커링
* 데이터 앵커링으로 서비스 체인 데이터의 신뢰도 향상
* 다른 블록체인에도 적용 가능

![Klaytn API Service의 장점](/files/fibiH0b0VCwl3bg7tU30)

## API

### Klaytn Node API

[Klaytn Node API](https://refs.klaytnapi.com/ko/node/latest)는 여러분이 Klaytn 노드에 직접 접속하여 JSON-RPC API를 호출하는 기능을 제공합니다.

{% hint style="info" %}
현재 KAS는 Klaytn의 일부 JSON-RPC API만을 지원합니다. KAS에서 지원하는 JSON-RPC API 목록은 [다음](/kas-docs/tutorial/klaytn-node-api/node-api.md#tutorial-node-api-support-list)을 확인하십시오.
{% endhint %}

여러분은 JSON-RPC API를 호출해 다음 작업을 할 수 있습니다:

* **Klaytn 계정, 블록, 트랜잭션, 필터, 네트워크 정보 조회 및 설정**
* **Klaytn 노드 환경설정**

Klaytn Node API를 사용하는 방법에 관한 자세한 내용은 [튜토리얼](/kas-docs/tutorial/klaytn-node-api/node-api.md#tutorial-node-api-start)을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 [개발자 포럼](https://support.klaytnapi.com/hc/ko/community/topics)을 방문해 도움 받으십시오.

### Wallet API

[Wallet API](https://refs.klaytnapi.com/ko/wallet/latest)는 Klaytn 계정을 관리하고 다양한 트랜잭션 타입을 Klaytn에 전송하는 기능을 제공합니다. 여러분은 Wallet API를 호출해 다음 작업을 할 수 있습니다:

* **계정(Account) 관리**
* **계정 키(AccountKey) 업데이트**
* **트랜잭션 전송**

Wallet API를 사용하는 방법에 관한 자세한 내용은 [튜토리얼](/kas-docs/tutorial/wallet-api/wallet-account-api.md#tutorial-wallet-api-start)을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 [개발자 포럼](https://support.klaytnapi.com/hc/ko/community/topics)을 방문해 도움 받으십시오.

### Token History API

[Token History API](https://refs.klaytnapi.com/ko/tokenhistory/latest)는 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-docs/tutorial/token-history-api/th-api.md)을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 [개발자 포럼](https://support.klaytnapi.com/hc/ko/community/topics)을 방문해 도움 받으십시오.

### Anchor API

[Anchor API](https://refs.klaytnapi.com/ko/anchor/latest)는 서비스 체인 데이터를 Klaytn 메인 체인에 앵커링하는 기능을 제공합니다.

Anchor API를 사용하는 방법에 관한 자세한 내용은 [튜토리얼](/kas-docs/tutorial/anchor-api/anchor-api.md)을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 [개발자 포럼](https://support.klaytnapi.com/hc/ko/community/topics)을 방문해 도움 받으십시오.

### KIP-17 API

[KIP-17 API](https://refs.klaytnapi.com/ko/kip17/latest)는 Klaytn의 KIP-17 표준 컨트랙트와 토큰(NFT)에 관련된 다양한 기능을 제공합니다. 여러분은 KIP-17 API를 호출해 다음 작업을 할 수 있습니다:

* **컨트랙트 배포/조회**
* **토큰 발행/전송/소각/조회**
* **토큰 전송 권한 부여/해제**
* **소유권 기록 조회**

KIP-17 API를 사용하는 방법에 관한 자세한 내용은 [튜토리얼](/kas-docs/tutorial/kip-17-api/kip17-api.md)을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 [개발자 포럼](https://support.klaytnapi.com/hc/ko/community/topics)을 방문해 도움 받으십시오.

### KIP-7 API

[KIP-7 API](https://refs.klaytnapi.com/ko/kip7/latest)는 Klaytn의 KIP-7 표준 컨트랙트와 토큰에 관련된 다양한 기능을 제공합니다. 여러분은 KIP-7 API를 호출해 다음 작업을 할 수 있습니다:

* **컨트랙트 배포/조회/중지/재개**
* **토큰 발행/전송/소각/조회**
* **토큰 전송 권한 부여/해제**
* **토큰 대리 전송**

KIP-7 API를 사용하는 방법에 관한 자세한 내용은 [튜토리얼](/kas-docs/tutorial/kip-7-api/kip7-api.md)을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 [개발자 포럼](https://support.klaytnapi.com/hc/ko/community/topics)을 방문해 도움 받으십시오.

### KIP-37 API

[KIP-37 API](https://refs.klaytnapi.com/ko/kip37/latest)는 Klaytn의 KIP-37 표준 컨트랙트와 토큰(MT)에 관련된 다양한 기능을 제공합니다. 여러분은 KIP-37 API를 호출해 다음 작업을 할 수 있습니다:

* **컨트랙트 배포/조회/중지/재개**
* **토큰 발행/전송/소각/중지/재개**
* **토큰 목록 조회**

KIP-37 API를 사용하는 방법에 관한 자세한 내용은 [튜토리얼](/kas-docs/tutorial/kip-37-api/kip37-api.md)을 확인하십시오. 이 문서 혹은 KAS에 관한 문의는 [개발자 포럼](https://support.klaytnapi.com/hc/ko/community/topics)을 방문해 도움 받으십시오.

## KAS 콘솔

[KAS 콘솔](https://github.com/ground-x/kas-docs/blob/ko/basics/console.md)은 KAS API를 사용하고 관리하기 위한 웹 애플리케이션입니다. KAS 콘솔에서는 아래와 같은 작업을 할 수 있습니다.

* KAS API를 호출할 때 필요한 API 인증 키 생성
* API 호출 권한을 설정
* API에서 사용할 Klaytn 계정을 보관, 관리
* 그 외 KAS 서비스에 대한 관리 수행

이 문서 혹은 KAS에 관한 문의는 [개발자 포럼](https://support.klaytnapi.com/hc/ko/community/topics)을 방문해 도움 받으십시오.

## KAS SDK <a href="#kas-sdk" id="kas-sdk"></a>

KAS SDK(Software Development Kit)는 여러 개발 환경에서 KAS를 쉽게 사용하도록 제공되는 개발 도구입니다. [Caver](https://ko.docs.klaytn.foundation/dapp/sdk)의 확장 라이브러리이며 Caver와 마찬가지로 JavaScript와 Java 환경을 지원합니다. KAS SDK로 BApp을 개발하면 하나의 라이브러리를 통해 KAS 기능과 기존 Caver의 기능을 모두 사용할 수 있습니다.

[KAS SDK(caver-js extension)](https://github.com/ground-x/caver-js-ext-kas)와 [KAS SDK(caver-java extension)](https://github.com/ground-x/caver-java-ext-kas)는 각각 [caver-js](https://github.com/klaytn/caver-js)와 [caver-java](https://github.com/klaytn/caver-java)의 확장 라이브러리로 이를 사용해 기존의 caver-js/caver-java 기능을 사용함과 동시에 KAS의 Node API, TokenHistory API, Wallet API, Anchor API, KIP-17 API 그리고 KIP-7 API도 사용하실 수 있습니다.

### SDK 사용 환경 구축 <a href="#kas-sdk-pre" id="kas-sdk-pre"></a>

#### KAS SDK (caver-js extension)

KAS SDK(caver-js extension)를 사용하려면 아래 패키지들이 필요합니다.

* [Node.js](https://nodejs.org/en/download/)
* [npm](https://www.npmjs.com/get-npm)
* [gcc-c++](https://gcc.gnu.org/)

KAS SDK(caver-js extension)는 아래 Node.js 버전에서 동작합니다.

* lts/erbium ([12.21.0](https://nodejs.org/dist/latest-v12.x/))
* lts/fermium ([14.16.0](https://nodejs.org/dist/latest-v14.x/))<br>

#### KAS SDK (caver-java extension)

KAS SDK(caver-java extension)를 사용하려면 Java 8 이상이 필요합니다.\
이 문서 혹은 KAS에 관한 문의는 [개발자 포럼](https://support.klaytnapi.com/hc/ko/community/topics)을 방문해 도움 받으십시오.

### SDK 설치 방법 <a href="#kas-sdk-install" id="kas-sdk-install"></a>

#### KAS SDK(caver-js extension) 설치

[KAS SDK(caver-js extension)](https://github.com/ground-x/caver-js-ext-kas)는 아래의 command를 사용하여 설치할 수 있습니다.

```bash
$ npm install caver-js-ext-kas
```

만약 [KAS SDK(caver-js extension)](https://github.com/ground-x/caver-js-ext-kas)의 특정 버전을 설치하고 싶은 경우 아래의 command를 사용하세요.

```bash
$ npm install caver-js-ext-kas@X.X.X
```

<br>

#### KAS SDK(caver-java extension) 설치

**maven**

Maven project에서 KAS SDK(caver-java extension) 라이브러리를 설치하기 위해서는 아래와 같이 작성하면 설치 할 수 있습니다.

```groovy
 <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) 라이브러리는 아래와 같이 작성하면 설치할 수 있습니다.

```groovy
<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**

```groovy
implementation 'xyz.groundx.caver:caver-java-ext-kas:X.X.X
```

Gradle project에서 android용 KAS SDK(caver-java extension) 라이브러리는 아래와 같이 작성하면 설치할 수 있습니다.

```groovy
implementation 'xyz.groundx.caver:caver-java-ext-kas:X.X.X-android
```

KAS SDK(caver-java extension)의 최신 버전은 [Release Page](https://github.com/ground-x/caver-java-ext-kas/releases)에서 확인할 수 있습니다.

caver-js에 관한 자세한 내용은 [다음](https://ko.docs.klaytn.foundation/dapp/sdk/caver-js)을 확인하십시오.\
caver-java에 관한 자세한 내용은 [다음](https://ko.docs.klaytn.foundation/dapp/sdk/caver-java)을 확인하십시오.\
이 문서 혹은 KAS에 관한 문의는 [개발자 포럼](https://support.klaytnapi.com/hc/ko/community/topics)을 방문해 도움 받으십시오.
