SDK를 이용해 API 호출하기
이 페이지는 KAS SDK로 KAS API를 호출하는 방법을 안내합니다. Klaytn 계정 생성 후 계정 정보 조회 예제를 살펴보세요.

인증 키 설정

KAS API를 실행하려면 기본 계정을 생성하고 인증 값을 설정해야 합니다. KAS 콘솔에서 직접 계정을 생성할 수 있고, KAS SDK인 Caver-js-ext-kas 또는 Caver-java-ext-kas를 이용해 생성할 수도 있습니다. 본 페이지에서는 KAS SDK로 호출하는 방법을 안내합니다.
먼저 사용할 "chain id" 와 "인증 키"를 설정합니다. KAS API 서비스를 사용하기 위해서 초기화하는 방법은 아래와 같습니다. 생성자에 chainId, accessKeyId 그리고 secretAccessKey를 전달하면 내부적으로 caver.initKASAPI 함수를 호출하고, 해당 함수에서는 Klaytn Node API, Wallet API, Token History API, Anchor API, KIP-17 API, KIP-7 API, 그리고 KIP-37 API에서 사용되는 인증 키를 한 번에 초기화합니다.
  • constructor로 인증 키 설정
1
// Set an authorization through constructor
2
const caver = new CaverExtKAS(chainId, accessKeyId, secretAccessKey)
Copied!
1
// Set an authorization through constructor
2
CaverExtKAS caver = new CaverExtKAS(chain, accessKeyId, secretAccessKey);
Copied!
  • caver.initKASAPI로 인증 키 설정
Javascript
Java
1
// Set an authorization through 'caver.initKASAPI' function
2
const caver = new CaverExtKAS()
3
caver.initKASAPI(chainId, accessKeyId, secretAccessKey)
Copied!
1
// Set an authorization through 'caver.initKASAPI' function
2
CaverExtKAS caver = new CaverExtKAS();
3
caver.initKASAPI(chainId, accessKeyId, secretAccessKey);
Copied!
KAS API 서비스 별로 초기화하는 방법은 아래와 같습니다. 마지막 파라미터에 엔드포인트 URL을 선택적으로 전달할 수 있으며, 따로 URL이 전달되지 않으면 아래와 같이 KAS Production URL이 기본값으로 세팅됩니다.
KAS Production URL
  • Node API: https://node-api.klaytnapi.com
  • Wallet API: https://wallet-api.klaytnapi.com
  • Anchor API: https://anchor-api.klaytnapi.com
  • Token History API: https://th-api.klaytnapi.com
  • KIP-17 API: https://kip17-api.klaytnapi.com
  • KIP-7 API: https://kip7-api.klaytnapi.com
  • KIP-37 API: https://kip37-api.klaytnapi.com
Javascript
Java
1
// Node API 초기 세팅
2
caver.initNodeAPI(chainId, accessKeyId, secretAccessKey [, useHttp] [, url])
3
4
// Wallet API 초기 세팅
5
caver.initWalletAPI(chainId, accessKeyId, secretAccessKey [, url])
6
7
// TokenHistory API 초기 세팅
8
caver.initTokenHistoryAPI(chainId, accessKeyId, secretAccessKey [, url])
9
10
// Anchor API 초기 세팅
11
caver.initAnchorAPI(chainId, accessKeyId, secretAccessKey [, url])
12
13
// KIP-17 API 초기 세팅
14
caver.initKIP17API(chainId, accessKeyId, secretAccessKey [, url])
15
16
// KIP-7 API 초기 세팅
17
caver.initKIP7API(chainId, accessKeyId, secretAccessKey [, url])
18
19
// KIP-37 API 초기 세팅
20
caver.initKIP37API(chainId, accessKeyId, secretAccessKey [, url])
Copied!
1
// Node API 초기 세팅
2
caver.initNodeAPI(chainId, accessKeyId, secretAccessKey [, url])
3
4
// Wallet API 초기 세팅
5
caver.initWalletAPI(chainId, accessKeyId, secretAccessKey [, url])
6
7
// TokenHistory API 초기 세팅
8
caver.initTokenHistoryAPI(chainId, accessKeyId, secretAccessKey [, url])
9
10
// Anchor API 초기 세팅
11
caver.initAnchorAPI(chainId, accessKeyId, secretAccessKey [, url])
12
13
// KIP-17 API 초기 세팅
14
caver.initKIP17API(chainId, accessKeyId, secretAccessKey [, url])
15
16
// KIP-7 API 초기 세팅
17
caver.initKIP7API(chainId, accessKeyId, secretAccessKey [, url])
18
19
// KIP-37 API 초기 세팅
20
caver.initKIP37API(chainId, accessKeyId, secretAccessKey [, url])
Copied!

계정 생성 및 조회

KAS의 Wallet API를 사용하여 계정을 생성하는 방법입니다.
Javascript
Java
1
const CaverExtKAS = require('caver-js-ext-kas')
2
const caver = new CaverExtKAS(chainId, accessKeyId, secretAccessKey)
3
4
const account = await caver.kas.wallet.createAccount()
5
console.log(account)
Copied!
1
import xyz.groundx.caver_ext_kas.CaverExtKAS;
2
import xyz.groundx.caver_ext_kas.rest_client.io.swagger.client.ApiException;
3
import xyz.groundx.caver_ext_kas.rest_client.io.swagger.client.api.wallet.model.Account;
4
5
public class HelloKAS {
6
public static void createAccount() throws ApiException {
7
CaverExtKAS caver = new CaverExtKAS();
8
caver.initKASAPI(chainId, accessKeyId, secretAccessKey);
9
10
Account account = caver.kas.wallet.createAccount();
11
System.out.println(account);
12
}
13
14
public static void main(String[] args) throws ApiException {
15
createAccount();
16
}
17
}
Copied!
위의 코드를 실행하면 아래와 같이 KAS에 생성된 계정의 정보가 출력됩니다.
Javascript
Java
1
Account {
2
address: '0x4d6de1Fe6a281306C54AD81b79a0c137b13872DC',
3
chainId: 1001,
4
createdAt: 1602124416,
5
keyId: 'krn:1001:wallet:9c42dff5-d317-4abd-a7ab-576aad12ea07:account-pool:default:0x975fa77efbde347b0c471f0f29ba73c1281521f69485d650c8c10125e37b57fc',
6
krn: 'krn:1001:wallet:9c42dff5-d317-4abd-a7ab-576aad12ea07:account-pool:default',
7
publicKey: '0x0433f1b15d33e821155988408e949d21d5bd0d053d9f2ed90f3df57e96f0ce7a766ba36617f43f2ad1e0f3caca5bdb431a88c51c1bdaab8dc781589b1658e646f1',
8
updatedAt: 1602124416
9
}
Copied!
1
class Account {
2
address: 0x0BA67C887F922AF3d0D781dD940c6d0C80D395DE
3
chainId: 1001
4
createdAt: 1602550121
5
keyId: krn:1001:wallet:d5c346f5-bb80-4f45-9093-57e25205cdc8:account-pool:pool:0xbedefad10db4df3488aaf1669b9164549c1aebe7c326f4b19ba6c6ce0f330fa5
6
krn: krn:1001:wallet:d5c346f5-bb80-4f45-9093-57e25205cdc8:account-pool:pool
7
publicKey: 0x041d56cbe46915854600c9d3c4ef614906f27473abe948cf587d990dcbce030d5989f4458bc470e44b2916d75194729102bb60e1e6a27c01030de84208a13232c2
8
updatedAt: 1602550121
9
multiSigKeys: null
10
threshold: null
11
}
Copied!
이 문서 혹은 KAS에 관한 문의는 개발자 포럼을 방문해 도움 받으십시오.