튜토리얼에 앞서
-
API 호출에 사용되는
x-chain-id
값은8217
(Mainnet) 또는1001
(Kairos)입니다. - API 호출에 필요한 필수 파라미터는 각 예시에 설명됩니다.
API 호출 시 사용자가 입력해야 하는 값은 중괄호 1개({}
)로 표시합니다. 사용자가 입력해야 하는 값은 아래 테이블과 같습니다.
항목 | 값 | 비고 |
---|---|---|
chain-id | 8217 또는 1001 | Kaia 메인넷 또는 Kairos |
access-key-id | 인증 아이디 | KAS Console > [Security] > [Credential]에서 발급받은 accessKeyId |
secret-access-key | 인증 비밀번호 | KAS Console > [Security] > [Credential]에서 발급받은 secretAccessKey |
krn | (optional) 계정 저장소의 ID | 기본 계정 저장소 사용 시 불필요 |
API 인증 키가 있으면 모든 KAS 서비스를 사용할 수 있으며 Wallet API를 호출해 만든 Kaia 계정에 대한 모든 권한을 소유합니다. 모든 권한에는 Kaia 계정의 자산(KAIA 등) 이동이나 트랜잭션 전송 및 실행 권한이 포함됩니다. 만약 API 인증 키에 타인이 접근한다면 Kaia 계정 권한을 탈취당해 원치 않는 트랜잭션이 발생할 수 있습니다.
danger
KAS/Kaia 계정 보안을 위해 KAS API 인증 키(Secret Access Key)를 타인과 함부로 공유하지 말고 주의해 관리하십시오.
info
KAS SDK(caver-js/caver-java extension) 설치, 실행에 관한 자세한 내용은 KAS SDK를 확인하십시오. Kaia Node에서 Kaia 계정 정보를 확인하려면 계정 저장소와 계정을 생성하고 사용할 계정을 선택해야 합니다. 계정 저장소 생성, 계정 생성, 계정 선택에 관한 자세한 내용은 Getting Started를 확인하십시오.
Kaia Node에서 Kaia 계정 정보 확인하기
가장 최근에 생성된 블록 번호 확인하기
Node API로 여러분 계정의 잔고, 계정 키 타입 등 계정에 관한 가장 최신 정보를 확인하려면 Kaia상에 있는 가장 최신 블록의 블록 번호를 알아야합니다. 이를 위해 JSON-RPC 요청 { "method": "klay_blockNumber", "id": 1 }
을 보내고 최신의 블록 번호를 요청합니다.
info
Node API에 관한 더 자세한 내용은 다음을 확인하십시오.
API 호출
curl --location --request POST 'https://node-api.klaytnapi.com/v1/klaytn' \
-u {accessKeyId}:{secretAccessKey} \
--header 'x-chain-id: {chain-id}' \
--header 'Content-Type: application/json' \
--data-raw '{"jsonrpc":"2.0","method":"klay_blockNumber","params":[],"id":1}'
const accessKeyId = "{accessKeyId}";
const secretAccessKey = "{secretAccessKey}";
const chainId = 1001;
const caver = new CaverExtKAS();
caver.initKASAPI(chainId, accessKeyId, secretAccessKey);
const blockNumber = await caver.rpc.klay.getBlockNumber();
String accessKey = "your accessKey";
String secretAccessKey = "your secret accessKey";
CaverExtKAS caver = new CaverExtKAS();
caver.initKASAPI(1001, accessKey, secretAccessKey);
Quantity response = caver.rpc.klay.getBlockNumber().send();
System.out.println(response.getValue());
/* call an appropriate method via caver.rpc */
-
id
는 임의의 값입니다. -
params
,jsonrpc
는 생략 가능합니다.
info
API 호출에 관한 더 자세한 내용은 다음을 확인하십시오.
warning
Node API는 매번 다른 Kaia 엔드포인트 노드를 호출하며 블록 번호에 pending
을 입력할 경우 결과값이 기대와 다를 수 있습니다.
API 응답
API가 성공적으로 실행되면 다음과 같은 응답을 받습니다.
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x5d39"
}
0x5d39;
0x5d39
-
result
는 16진수로 표현된 블록 번호값입니다.
Kaia JSON-RPC API에 관한 더 자세한 내용은 다음을 확인하십시오.
이 API에 관한 자세한 내용은 다음을 확인하십시오.
이 문서 혹은 KAS에 관한 문의는 개발자 포럼을 방문해 도움 받으십시오.
EOA로 Kaia 계정 정보 확인하기
API 호출
블록 번호와 Kaia 계정 주소(EOA)를 입력하고 계정 정보를 조회하는 JSON-RPC 함수 klay_getAccount
를 실행합니다. klay_getAccount
는 주소(필수)와 블록번호/태그(필수 또는 선택) 파라미터를 받습니다. curl 등 HTTP 방식으로 직접 RPC를 호출할 경우 블록번호/태그는 필수 파라미터입니다.
curl --location --request POST 'https://node-api.klaytnapi.com/v1/klaytn' \
-u {accessKeyId}:{secretAccessKey} \
--header 'x-chain-id: {chain-id}' \
--header 'Content-Type: application/json' \
--data-raw '{"jsonrpc":"2.0","method":"klay_getAccount","params":["0x3111a0577f322e8fb54f78d9982a26ae7ca0f722", "0x5d39"],"id":1}'
const accessKeyId = "{accessKeyId}";
const secretAccessKey = "{secretAccessKey}";
const chainId = 1001; // for Baobab; 8217 if Cypress
const caver = new CaverExtKAS();
caver.initKASAPI(chainId, accessKeyId, secretAccessKey);
const account = await caver.rpc.klay.getAccount();
String accessKey = "your accessKey";
String secretAccessKey = "your secret accessKey";
CaverExtKAS caver = new CaverExtKAS();
caver.initKASAPI(1001, accessKey, secretAccessKey); // for Baobab; 8217 if Cypress
Account res = caver.rpc.klay.getAccount("0x3111a0577f322e8fb54f78d9982a26ae7ca0f722").send();
-
id
는 임의의 값입니다. -
jsonrpc
는 생략 가능합니다. -
Kaia 계정 주소값
0x3111a0577f322e8fb54f78d9982a26ae7ca0f722
은 예시값입니다. -
SDK(caver-js, caver-java)는 구현에 따라 블록번호/태그를 생략 가능합니다. 이 경우
"latest"
태그가 사용됩니다.
info
API 호출에 관한 더 자세한 내용은 다음을 확인하십시오.
warning
Node API는 매번 다른 Kaia 엔드포인트 노드를 호출하며 블록 번호에 pending
을 입력할 경우 결과값이 기대와 다를 수 있습니다.
API 응답
API가 성공적으로 실행되면 다음과 같이 입력한 EOA를 가지고 있는 Kaia 계정 정보를 나타내는 응답을 받습니다.
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"accType": 1,
"account": {
"nonce": 4,
"balance": "0x8d286271f52600",
"humanReadable": false,
"key": {
"keyType": 1,
"key": {}
}
}
}
}
{
accType: 1,
account: {
nonce: 4,
balance: "0x8d286271f52600",
humanReadable: false,
key: { keyType: 1, key: {} }
}
}
/* skipped */
Kaia JSON-RPC API에 관한 더 자세한 내용은 다음을 확인하십시오.
이 API에 관한 자세한 내용은 다음을 확인하십시오.
이 문서 혹은 KAS에 관한 문의는 개발자 포럼을 방문해 도움 받으십시오.
KAS에서 현재 지원하는 Node API 목록
위에서 안내한 방식으로 Kaia의 다른 JSON-RPC API도 KAS에서 호출할 수 있습니다. 단, 현재 KAS는 일부 Node API만을 지원합니다. 사용할 수 있는 RPC 메소드는 KAS Console Service > Node 페이지에서 확인하실 수 있습니다.
이 문서 혹은 KAS에 관한 문의는 개발자 포럼을 방문해 도움 받으십시오.