Kaiascan API를 사용하여 Kaia 체인 데이터에 접근하는 방법

w. Peter Ayo (Kaia Foundation Developer Advocate)

Kaiascan API를 사용하여 Kaia 체인 데이터에 접근하는 방법
Author. Peter Ayo (Kaia Foundation Developer Advocate)

강력한 Kaiascan API를 통해 Kaia 체인데이터에 접근하는 것이 그 어느 때보다 용이해 졌습니다. 이 가이드는 Kaiascan API를 활용한 온체인 데이터 조회 방법을 알아보고, 개발자들이 트랜잭션, 월렛잔액, 스마트 컨트랙트, 토큰 세부정보 등에 체계적으로 접근할 수 있도록 도와드립니다.

이 가이드를 통해 Kaiascan에 대해 명확하게 이해하고, Kaiascan API 키 생성 방법을 학습하는 동시에 Kaiascan API의 효과적인 사용법을 습득할 수 있습니다.


전제 조건

Kaiascan API를 시작하기 전에 다음 사항들을 확인하세요.

개요

Kaiascan은 Kaia 네트워크의 데이터를 탐색하고 검색할 수 있는 대표적인 플랫폼입니다. Kaiascan은 블록 익스플로러와 관련 서비스뿐만 아니라, 개발자들이 Kaia 블록체인과 원활하게 상호작용할 수 있는 API를 제공합니다. 이러한 API들은 스마트 컨트랙트 검증과 같은 고급 기능을 지원하여 Kaia 개발자들에게 필수적인 도구로 자리잡았습니다.

Kaiascan API 사용의 주요 이점

  1. 블록체인 데이터 접근: API를 통해 표준화된 인터페이스로 잔액, 내·외부 트랜잭션, 이벤트 등의 과거 및 실시간 블록체인 데이터에 쉽게 접근할 수 있습니다.
  2. 컨트랙트 검증: Kaiascan API로 스마트 컨트랙트를 검증하여 dApp 개발 과정을 자동화하고 컨트랙트의 신뢰성을 확보할 수 있습니다.
  3. Dapp 구축: API를 활용하여 Kaia에서 탈중앙화 애플리케이션(dApp)을 구축할 수 있습니다. 예를 들어, 개발자는 스마트 컨트랙트 호출 시 컨트랙트 ABI를 하드코딩하지 않고 API를 통해 동적으로 가져와 사용할 수 있습니다.

Kaiascan API 시작하기

이 섹션에서는 Kaia 체인 데이터에 접근하기 위한 API 키를 생성하겠습니다. API 키 생성을 위해 다음 단계를 따라주세요.

  1. Account Overview 페이지로 이동하여 API Keys 탭을 선택하세요.
  2. 새로운 키를 생성하기 위해 Add API Key 버튼을 클릭하세요.
Sample Image @Kaia Foundation

3. 애플리케이션 이름을 지정하면 API Key를 사용할 준비가 완료됩니다.

Sample Image @Kaia Foundation
Sample Image @Kaia Foundation

생성이 완료되면 대시보드에서 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.js
Example output

Kaiascan 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
Example output

계정에서 소유하고 있는 대체 불가능한 토큰(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
Example output

계정이 소유한 대체 가능한 토큰 잔액 목록 가져오기

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.js
Example output

Kaiascan 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.js
Example output

Kaiascan 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에 대해 자세히 알아보려면 공식 문서를 확인하세요.