# KAS 앵커링

Design에서 설명했듯이, 클레이튼 메인체인에 서비스 체인 데이터를 앵커링할 수 있습니다. 이 페이지는 [KAS (Klaytn API Service)](https://www.klaytnapi.com)를 통해 데이터 앵커링을 활성화하는 법을 소개합니다.

서비스 체인의 노드가 활성화되면 주기적으로 그 체인 데이터(블록 데이터)를 Cypress나 Baobab에 앵커링함으로써 서비스체인의 존재와 불가역성을 증명할 수 있습니다. This ensures the security and credibility of the service chain.

## KAS 사용 준비하기 <a href="#preparation-with-kas" id="preparation-with-kas"></a>

이 장은 데이터 앵커링을 위해 KAS를 사용하기 위한 필요조건들을 소개합니다.

### Sign Up KAS (Klaytn API Service) <a href="#sign-up-kas" id="sign-up-kas"></a>

우선 [KAS 콘솔](https://www.klaytnapi.com)에서 KAS에 가입을 해서 KAS 계정을 생성해야 합니다. KAS 웹사이트를 방문하여 가입을 합니다.

[![main page](https://4178890574-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LqJV-03ampuHElwofFa%2Fuploads%2Fgit-blob-22f06d11a81b002d81c7369749d4e098dc6c4279%2Fkas-main-en.png?alt=media\&token=3eef4405-f5f9-47c6-a90e-d5d1f66f573a)](https://www.klaytnapi.com)

[![sign up](https://4178890574-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LqJV-03ampuHElwofFa%2Fuploads%2Fgit-blob-7d4cda08dce851c071c4a07ca8ae5410c451d44e%2Fkas-signup-en.png?alt=media\&token=f4fedc2e-d886-4cf2-bd11-ef3f5a3045bc)](https://www.klaytnapi.com)

### 자격증명 생성하기 <a href="#check-credential" id="check-credential"></a>

로그인 후 아래와 같이 자격증명을 생성할 수 있습니다. `AccessKey ID`와 `Secret AccessKey` 또는 `Authorization`를 사용해 KAS APIs를 호출할 것입니다.

![credential](https://4178890574-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LqJV-03ampuHElwofFa%2Fuploads%2Fgit-blob-5304df1973f3688f485a45f05d0d2ac276b7194d%2Fkas-credential-en.png?alt=media\&token=04443de7-72d1-49b3-8d90-f5cbd3f7827a)

### Anchor API <a href="#anchor-api" id="anchor-api"></a>

앵커링을 하기 위해서 KAS가 데이터 앵커링을 위해 제공하는 Anchor API를 사용하게 될 것입니다.

![anchor api](https://4178890574-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LqJV-03ampuHElwofFa%2Fuploads%2Fgit-blob-93e6f7da42062edd3e934b11ba0b6dc221ae2f3a%2Fkas-anchor-api-en.png?alt=media\&token=45c308b3-04a6-42ba-9a9e-ca1ae5514df6)

### 운영자 주소 생성하기 <a href="#create-kas-credential" id="create-kas-credential"></a>

KAS를 통해 서비스 체인 데이터를 앵커링 하기 위해서는 KAS에 등록이 된 클레이튼 주소가 있어야 하며, 이 주소가 클레이튼에 앵커링 트랜잭션을 보내게 될 주소입니다. 서비스 노드를 셋업하기 전에, KAS를 통해 "operator"라는 클레이튼 계정을 생성해야 합니다. KAS 콘솔을 이용해 이 계정을 만들어 주세요.

우선 KAS 콘솔 우측 상단에서 데이터를 앵커링하고자 하는 클레이튼 체인을 선택하는 것이 중요합니다. 각 체인(Cypress/Baobab)에 대한 운영자를 생성해야 합니다.

![select chain](https://4178890574-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LqJV-03ampuHElwofFa%2Fuploads%2Fgit-blob-a036c729532c4f370d482a7d218d6b32b6ebdbbc%2Fkas-select-chain-en.png?alt=media\&token=0b728d7a-a0a4-49fc-bc76-f5e9132b17b1)

아래와 같이 운영자를 생성하세요.

![create operator](https://4178890574-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LqJV-03ampuHElwofFa%2Fuploads%2Fgit-blob-e75cb1d9183d92510c5e66a74b5423fe79379a43%2Fkas-create-operator-en.png?alt=media\&token=d7b931b3-e304-435e-b5d9-07fc28564660)

그리고 나서 아래와 같이 운영자 목록을 확인할 수 있습니다. 여러분의 서비스 체인 노드를 설정하기 위해 운영자 주소가 필요하다는 점을 유의해주세요.

![create operator](https://4178890574-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LqJV-03ampuHElwofFa%2Fuploads%2Fgit-blob-f54414d127733188f9cf3c1250d8164016b8ceda%2Fkas-operator-list-en.png?alt=media\&token=1e54bd04-1a01-45df-a7d0-2d71dcbd74af)

### 서비스 체인 노드 설정 <a href="#configure-service-chain-node" id="configure-service-chain-node"></a>

API 자격증명, Anchor API 정보(API 엔드포인트와 파라미터), KAS 운영자 정보를 획득한 뒤 서비스 체인 노드를 설정합니다. 아래와 같이 서비스 체인 노드의 구성 파일(`kscnd.conf`, `kspnd.conf`, `ksend.conf`)을 수정해야 합니다.

`SC_SUB_BRIDGE=1`과 모든 `SC_KAS_` 접두사 항목들을 설정해야 합니다.

```bash
...
# service chain options setting
...
SC_SUB_BRIDGE=1
...

SC_KAS_ANCHOR=1                                                         # 1: enable, 0: disable
SC_KAS_ANCHOR_PERIOD=10                                                 # Anchoring block period
SC_KAS_ANCHOR_URL="https://anchor-api.klaytn.com/v1/anchor"             # Anchor API URL
SC_KAS_ANCHOR_OPERATOR="0x6A3D565C4a2a4cd0Fb3df8EDfb63a151717EA1D7"     # Operator address
SC_KAS_ANCHOR_ACCESS_KEY="KAJM4BEIR9SKJKAW1G3TT8GX"                     # Credential Access key
SC_KAS_ANCHOR_SECRET_KEY="KyD5w9ZlZQ7ejj6lDF6elb61u8JH/mXdKqhgr3yF"     # Credential Secret key
SC_KAS_ANCHOR_X_CHAIN_ID=1001                                           # Cypress: 8217, Baobab: 1001
...
```

### 서비스 체인 노드 운영 <a href="#run-service-chain-node" id="run-service-chain-node"></a>

이제 준비가 되었습니다. 서비스 체인 노드를 운영할 수 있습니다. 아래와 같이 KAS Anchor API와 연관된 로그 메시지가 나타납니다.

```bash
...
INFO[09/10,18:09:28 +09] [5] Imported new chain segment                number=86495 hash=5a20d6…cbca1b blocks=1  txs=3 elapsed=2.387ms  trieDBSize=5.10kB mgas=0.063 mgasps=26.383
INFO[09/10,18:09:28 +09] [53] Anchored a block via KAS                  blkNum=86495
INFO[09/10,18:09:29 +09] [5] Imported new chain segment                number=86496 hash=8897bc…4ea7e7 blocks=1  txs=3 elapsed=2.158ms  trieDBSize=5.10kB mgas=0.063 mgasps=29.188
INFO[09/10,18:09:29 +09] [53] Anchored a block via KAS                  blkNum=86496
INFO[09/10,18:09:30 +09] [5] Imported new chain segment                number=86497 hash=44b319…7d4247 blocks=1  txs=3 elapsed=2.346ms  trieDBSize=5.43kB mgas=0.063 mgasps=26.848
INFO[09/10,18:09:30 +09] [53] Anchored a block via KAS                  blkNum=86497
INFO[09/10,18:09:31 +09] [5] Imported new chain segment                number=86498 hash=0b98ba…73d654 blocks=1  txs=3 elapsed=2.235ms  trieDBSize=5.61kB mgas=0.063 mgasps=28.186
INFO[09/10,18:09:31 +09] [53] Anchored a block via KAS                  blkNum=86498
INFO[09/10,18:09:32 +09] [5] Imported new chain segment                number=86499 hash=4f01ab…3bc334 blocks=1  txs=3 elapsed=3.319ms  trieDBSize=5.61kB mgas=0.063 mgasps=18.977
INFO[09/10,18:09:32 +09] [53] Anchored a block via KAS                  blkNum=86499
...
```

### 트랜잭션 목록 <a href="#list-of-transaction" id="list-of-transaction"></a>

KAS 콘솔 웹사이트에서 여러분의 서비스체인 운영자가 보낸 앵커링 트랜잭션 목록을 "KAS Console - Service - Anchor - Operators"에서 아래와 같이 확인하실 수 있습니다.

![anchoring transaction list](https://4178890574-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LqJV-03ampuHElwofFa%2Fuploads%2Fgit-blob-adbc5efaff56182eca3ad11b3a0f28c0d4056e06%2Fkas-tx-list-en.png?alt=media\&token=528f29cd-33bc-481e-82b7-9cf631c5e826)
