Kip7 라벨링 후 api 사용할 때

“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로 어떻게 정보를 받아올 수 있을까요??

아래는 소스 코드입니다.


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()

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

KAS API를 사용하시기 위해서는 caver-js-ext-kas 패키지를 이용하셔야 합니다. 보다 자세한 사항은 이 링크를 참고 부탁드리겠습니다.

1개의 좋아요

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

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

감사합니다.

1개의 좋아요

@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()

먼저 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를 생성하셔서 사용하시는 것을 권장드립니다.

1개의 좋아요