Kaiascan API를 사용하여 Kaia 체인 데이터에 접근하는 방법
w. Peter Ayo (Kaia Foundation Developer Advocate)
Author. Peter Ayo (Kaia Foundation Developer Advocate)
강력한 Kaiascan API를 통해 Kaia 체인데이터에 접근하는 것이 그 어느 때보다 용이해 졌습니다. 이 가이드는 Kaiascan API를 활용한 온체인 데이터 조회 방법을 알아보고, 개발자들이 트랜잭션, 월렛잔액, 스마트 컨트랙트, 토큰 세부정보 등에 체계적으로 접근할 수 있도록 도와드립니다.
이 가이드를 통해 Kaiascan에 대해 명확하게 이해하고, Kaiascan API 키 생성 방법을 학습하는 동시에 Kaiascan API의 효과적인 사용법을 습득할 수 있습니다.
전제 조건
Kaiascan API를 시작하기 전에 다음 사항들을 확인하세요.
- Kaiascan 계정
- Node.js 설치
- HTTP 요청을 위한 Axios 설치
개요
Kaiascan은 Kaia 네트워크의 데이터를 탐색하고 검색할 수 있는 대표적인 플랫폼입니다. Kaiascan은 블록 익스플로러와 관련 서비스뿐만 아니라, 개발자들이 Kaia 블록체인과 원활하게 상호작용할 수 있는 API를 제공합니다. 이러한 API들은 스마트 컨트랙트 검증과 같은 고급 기능을 지원하여 Kaia 개발자들에게 필수적인 도구로 자리잡았습니다.
Kaiascan API 사용의 주요 이점
- 블록체인 데이터 접근: API를 통해 표준화된 인터페이스로 잔액, 내·외부 트랜잭션, 이벤트 등의 과거 및 실시간 블록체인 데이터에 쉽게 접근할 수 있습니다.
- 컨트랙트 검증: Kaiascan API로 스마트 컨트랙트를 검증하여 dApp 개발 과정을 자동화하고 컨트랙트의 신뢰성을 확보할 수 있습니다.
- Dapp 구축: API를 활용하여 Kaia에서 탈중앙화 애플리케이션(dApp)을 구축할 수 있습니다. 예를 들어, 개발자는 스마트 컨트랙트 호출 시 컨트랙트 ABI를 하드코딩하지 않고 API를 통해 동적으로 가져와 사용할 수 있습니다.
Kaiascan API 시작하기
이 섹션에서는 Kaia 체인 데이터에 접근하기 위한 API 키를 생성하겠습니다. API 키 생성을 위해 다음 단계를 따라주세요.
- Account Overview 페이지로 이동하여 API Keys 탭을 선택하세요.
- 새로운 키를 생성하기 위해 Add API Key 버튼을 클릭하세요.
3. 애플리케이션 이름을 지정하면 API Key를 사용할 준비가 완료됩니다.
생성이 완료되면 대시보드에서 API Key를 확인할 수 있습니다. 각 Kaiascan 계정당 최대 3개의 키를 동시에 생성할 수 있으며, 이 키들은 Kairos network에서도 사용 가능합니다.
코드에 API Key 통합하기
Kaiascan API로 컨트랙트의 ABI 검색하기
js
require("dotenv").config();
const axios = require("axios");
const API_KEY = process.env.API_KEY;
const CONTRACT_ADDRESS = "0xc6a2ad8cc6e4a7e08fc37cc5954be07d499e7654";
async function getABIofContract() {
let config = {
method: "get",
maxBodyLength: Infinity,
url: `https://mainnet-oapi.kaiascan.io/api/v1/contracts/${CONTRACT_ADDRESS}/abi`,
headers: {
Accept: "*/*",
Authorization: `Bearer ${API_KEY}`,
},
};
axios
.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
}
getABIofContract()터미널에서 다음 명령을 실행하세요.
node script.jsKaiascan API로 특정 블록 검색하기
js
require("dotenv").config();
const axios = require("axios");
const API_KEY = process.env.API_KEY;
const BLOCK_NUMBER = "95356998";
async function getBlock() {
let config = {
method: "get",
maxBodyLength: Infinity,
url: `https://mainnet-oapi.kaiascan.io/api/v1/blocks/${BLOCK_NUMBER}`,
headers: {
Accept: "*/*",
Authorization: `Bearer ${API_KEY}`,
},
};
axios
.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
}
getBlock()터미널에서 다음 명령을 실행하세요.
node script.js계정에서 소유하고 있는 대체 불가능한 토큰(KIP-17) 잔액 목록 가져오기
js
require("dotenv").config();
const axios = require("axios");
const API_KEY = process.env.API_KEY;
const ACCOUNT_ADDRESS = "0x1C42aCcd92d491DB8b083Fa953B5E3D9A9E42aD5";
async function getNFTBalances() {
let config = {
method: "get",
maxBodyLength: Infinity,
url: `https://mainnet-oapi.kaiascan.io/api/v1/accounts/${ACCOUNT_ADDRESS}/nft-balances/kip17`,
headers: {
Accept: "*/*",
Authorization: `Bearer ${API_KEY}`,
},
};
axios
.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
}
getNFTBalances()터미널에서 다음 명령을 실행하세요.
node script.js계정이 소유한 대체 가능한 토큰 잔액 목록 가져오기
js
require("dotenv").config();
const axios = require("axios");
const API_KEY = process.env.API_KEY;
const ACCOUNT_ADDRESS = "0x1C42aCcd92d491DB8b083Fa953B5E3D9A9E42aD5";
async function getTokenBalances() {
let config = {
method: "get",
maxBodyLength: Infinity,
url: `https://mainnet-oapi.kaiascan.io/api/v1/accounts/${ACCOUNT_ADDRESS}/token-balances`,
headers: {
Accept: "*/*",
Authorization: `Bearer ${API_KEY}`,
},
};
axios
.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
}
getTokenBalances()터미널에서 다음 명령을 실행하세요.
node script.jsKaiascan API로 대체 가능한 토큰 정보 조회하기
js
require("dotenv").config();
const axios = require("axios");
const API_KEY = process.env.API_KEY;
const TOKEN_ADDRESS = "0x8888888888885b073f3c81258c27e83db228d5f3"
async function getTokenDetails() {
let config = {
method: 'get',
maxBodyLength: Infinity,
url: `https://mainnet-oapi.kaiascan.io/api/v1/tokens/${TOKEN_ADDRESS}`,
headers: {
'Accept': '*/*',
'Authorization': `Bearer ${API_KEY}`
}
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
}
getTokenDetails()터미널에서 다음 명령을 실행하세요.
node script.jsKaiascan API 엔드포인트 살펴보기
Kaiascan은 Kaia 블록체인에서 조회하고자 하는 정보 유형에 따라 다양한 API 엔드포인트를 제공합니다. 주요 엔드포인트는 다음과 같습니다.
- Account API: 계정 잔액과 지갑 세부정보를 조회
- Transactions API: 거래 세부정보와 거래내역을 조회
- Contract API: 스마트 컨트랙트와 상호작용하고 검증
- Block API: 특정 블록의 데이터의 호출
- NFT API: 대체 불가능한 토큰 데이터에 접근
- Token API: 토큰 세부정보와 분석 데이터를 조회
이 가이드에서는 무료 플랜으로 API 호출을 테스트했습니다. 개발자와 기업은 무료 플랜으로 Kaiascan의 핵심 기능을 비용 부담 없이 살펴볼 수 있습니다. 더 많은 엔드포인트와 고급 기능이 필요한 경우, 플랜 업그레이드를 통해 풍부한 온체인 데이터와 높은 API 호출 한도를 누릴 수 있습니다.
결론
지금까지 Kaiascan API를 통해 Kaia 체인 데이터에 접근하는 방법을 알아봤습니다. Kaiascan API는 직관적이고 다양한 가능성을 제공합니다. Kaiascan으로 토큰 잔액 추적기, 가스 최적화 도구, 월렛 활동 모니터링, DeFi 대시보드 등 실용적인 도구들을 개발할 수 있습니다. API는 개발자 친화적인 환경을 제공하여 여러분이 원하는 솔루션 개발에 온전히 집중할 수 있습니다. 그럼 Kaia 생태계 개발자 여러분, Kaiascan API로 더욱 즐겁고 편리하게 빌드하세요!
Kaiascan API에 대해 자세히 알아보려면 공식 문서를 확인하세요.