# Kip7 라벨링 후 api 사용할 때

**URL:** <https://devforum.kaia.io/t/kip7-api/918>\
**Category:** KAS (아카이브)\
**Created:** [4월 9, 2021, 10:00오전 UTC](https://devforum.kaia.io/t/kip7-api/918 "2021-04-09T10:00:21Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![okay](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/okay/32/533_2.png) [@okay](https://devforum.kaia.io/u/okay)\
**Post date:** [4월 9, 2021, 10:00오전 UTC](https://devforum.kaia.io/t/kip7-api/918/1 "2021-04-09T10:00:21Z")

</div>

“IDE로” KIP7으로 토큰 발행, 스마트 컨트랙을 배포했고요  
KAS에서 Labeling잡히는것까지 확인했는데요.

**1. IDE로 배포를 했는데, 제 로컬에서 터미널로 caver-js를 실행하려면 각각 버전을 어떻게 맞춰서 하시나요?**  
현재 제가 설치한 버전입니다.

- truffle v5.3.0
- solc v0.5.6
- caver-js 1.6.0

**2. test용으로 js파일 만들어서 $ node test.js 실행했는데 안되네요.**  
node v10에서는 textDecoder() 문제가 생겨서 11이나 12로 올리니 다른 문제가 생기는데요.  
caver로 어떻게 정보를 받아올 수 있을까요??

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/klaytn/original/1X/0b3cb2cc86581d40d7d709560624e2ff3990169f.png)

아래는 소스 코드입니다.

```

var your_accessKeyId = `KASK5TKFDZ7ZMWWU50W792F6`
var your_secretAccessKey = `3EpAs+82RsQVLcHOMO5cn7pTYaTn1LccT4KZ7SJY`

// KAS API를 사용할 때에 사용할 chainId와 인증 키를 세팅
const caver = require('caver-js')
//const caver = new Caver('https://localhost:8651/')
caver.initKASAPI(1001, `${your_accessKeyId}`, `${your_secretAccessKey}`)

async function testFunction() {
    const version = await caver.rpc.klay.getClientVersion()
    console.log(version)
}

testFunction()

```

---

<div class="post-metadata">

**Author:** ![colin.kim](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/colin.kim/32/55_2.png) [@colin.kim](https://devforum.kaia.io/u/colin.kim)\
**Post date:** [4월 11, 2021, 11:45오후 UTC](https://devforum.kaia.io/t/kip7-api/918/2 "2021-04-11T23:45:22Z")

</div>

안녕하세요, 클레이튼 포럼에 질문을 올려주셔서 감사드립니다.

KAS API를 사용하시기 위해서는 caver-js-ext-kas 패키지를 이용하셔야 합니다. 보다 자세한 사항은 [이 링크](https://docs.klaytnapi.com/sdk)를 참고 부탁드리겠습니다.

---

<div class="post-metadata">

**Author:** ![Jamie](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/jamie/32/1472_2.png) [@Jamie](https://devforum.kaia.io/u/Jamie)\
**Post date:** [4월 12, 2021, 12:24오전 UTC](https://devforum.kaia.io/t/kip7-api/918/3 "2021-04-12T00:24:26Z")

</div>

안녕하세요, 추가적으로 라이브러리 버전 관련하여 답변드립니다.

caver-js는 v1.6.1-rc.4 버전을 그리고 caver-js-ext-kas의 경우는 v1.1.2-rc.4를 사용하시면 textDecoder 관련 에러는 해결될 것입니다.  
또한 Node는 v12 혹은 v14를 사용해 주시면 됩니다 🙂

감사합니다.

---

<div class="post-metadata">

**Author:** ![okay](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/okay/32/533_2.png) [@okay](https://devforum.kaia.io/u/okay)\
**Post date:** [4월 15, 2021, 7:24오전 UTC](https://devforum.kaia.io/t/kip7-api/918/4 "2021-04-15T07:24:05Z")

</div>

@colin.kim @Jamie 답변 감사합니다.

node v12.22.1, caver-js v1.6.1 버전으로 되어있고  
$ npm i caver-js-ext-kas@1.1.2-rc.1 로 설치했습니다.

그런 다음  
node caver.js라는 파일을 실행했는데 또 다시 caver.initKASAPI(1001, `{your\_accessKeyId}`, `${your\_secretKey}`) 이렇게 뜨네요

아래는 caver.js 파일입니다.  
caver.js가 들어있는 디렉토리에는 다른 파일은 없고 다른 설정도 안했습니다.  
혹시 따로 해야될 설정이 있을까요? npm init, truffle init등 다 안했습니다.

```

var your_accessKeyId = `₩12`
var your_secretAccessKey = `3+123`

// KAS API를 사용할 때에 사용할 chainId와 인증 키를 세팅
const caver = require('caver-js-ext-kas')
// const caver = new Caver('https://localhost:8651/')
caver.initKASAPI(1001, `${your_accessKeyId}`, `${your_secretAccessKey}`)

async function testFunction() {
    const version = await caver.rpc.klay.getClientVersion()
    console.log(version)
}
testFunction()

```

---

<div class="post-metadata">

**Author:** ![Jamie](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/jamie/32/1472_2.png) [@Jamie](https://devforum.kaia.io/u/Jamie)\
**Post date:** [4월 15, 2021, 7:45오전 UTC](https://devforum.kaia.io/t/kip7-api/918/5 "2021-04-15T07:45:05Z")

</div>

먼저 caver-js-ext-kas만 설치하셔도 caver-js 기능을 사용하실 수 있으므로 caver-js를 uninstall하셔도 됩니다.

그리고 일단 require 로 모듈을 불러온 다음 caver 인스턴스를 생성하는 부분이 빠진 것 같습니다.

```
const your_accessKeyId = `KASK5...`
const your_secretAccessKey = `3EpAs...`

const CaverExtKAS = require('caver-js-ext-kas')
const caver = new CaverExtKAS(1001, your_accessKeyId, your_secretAccessKey)

async function testFunction() {
    const version = await caver.rpc.klay.getClientVersion()
    console.log(version)
}
testFunction()

```

위의 예제를 참고하셔서 실행해 보시기 바랍니다.  
그리고 질문에 올려주신 accessKeyId 와 secretAccessKey는 유출될 수 있으니 질문에서 보이지 않도록 삭제해 주시고 새로운 accessKeyId 와 secretAccessKey를 생성하셔서 사용하시는 것을 권장드립니다.
