Kaia to Nodit Migration Guide

KAS(Klaytn API Service)는 쉽고 빠른 Klaytn Dapp 개발을 지원하기 위해 Klaytn 재단에서 제공해온 API 서비스입니다. Kaia로 리브랜딩 및 하드포크 된 이후에도 여전히 KAS의 기능들은 Kaia에 대해 동작하고 있지만, API Spec이나 문서는 아직 Klaytn을 기반으로 하고 있습니다.

KAS를 활용한 개발 경험이 있으신가요? 아래 표를 통해 Nodit과 KAS의 API를 비교해보고, 사용중인 API를 Nodit API로 어떻게 대체할 수 있을지에 대한 가이드를 확인해보세요.

KAS와 Nodit의 지원 기능 비교

아래는 KAS에서 제공하는 API와 그에 상응하는 Nodit API를 한 눈에 볼 수 있도록 비교한 표입니다. KAS API는 KAS Reference 페이지를 기준으로 작성되었습니다. 각 기능에 대한 자세한 설명은 표 하단을 참고해주세요.

KAS to Nodit API Compatibility
KAS API Category KAS API Name Compatibility Nodit Compatibility Notes Description
Klaytn Node API All Node APIs Node API -
Contract API Query all FT contract data Not supported -
Query list of all NFT contract data Not supported -
Query list of all NFT contract data Not supported -
Query list of MT contract data Not supported -
Get data of a certain FT contract Fully supported Get Token Contract Metadata by Contracts API
Get data of certain NFT contracts Fully supported Get NFT Contract Metadata by Contracts
Get data of certain MT contracts Fully supported Get NFT Contract Metadata by Contracts
Get the number of NFT owners Fully supported Get NFT Holders by Contract API에서 count=true로 설정하여 조회
Get the number of MT owners Fully supported Get NFT Holders by Contract API에서 count=true로 설정하여 조회
Update metadata of a certain FT contract Not supported
Update metadata of a certain NFT contract Not supported -
Token API Query all token data for certain NFT contracts Fully supported Get NFT Metadata by Contract
Get token data for NFT data by EOA Fully supported Get NFTs Owned By Account
Query token data for certain NFTs Fully supported Get NFT Metadata by Token IDs API에서 대부분의 Metadata 항목을 동일하게 조회할 수 있으나, 해당 토큰에 대한 소유자 정보는 Get NFT Holders by Token ID API로 따로 조회해야 합니다.
Query information of all tokens for certain MTs Fully supported Get NFT Metadata by Contract
* 이더리움 표준 기준 ERC1155의 케이스로, Nodit에서는 NFT 케이스로 포함
Get data of MT contracts for certain EOAs Fully supported Get NFTs Owned By Account
* 이더리움 표준 기준 ERC1155의 케이스로, Nodit에서는 NFT 케이스로 포함
Get token data for MT data by EOA Fully supported Get NFT Metadata by Token IDs API에서 대부분의 Metadata 항목을 동일하게 조회할 수 있으나, 해당 토큰에 대한 소유자 정보는 Get NFT Holders by Token ID API로 따로 조회해야 합니다.
* 이더리움 표준 기준 ERC1155의 케이스로, Nodit에서는 NFT 케이스로 포함
Get contract data by EOA Partially supported Nodit에서는 FT 컨트랙트와 NFT 컨트랙트에 대한 조회를 나누어 지원합니다. 동일한 응답을 구성하기 위해서는 Get Tokens Owned By AccountAPI와 Get NFTs Owned By AccountAPI를 각각 호출한 뒤, 반환된 컨트랙트 정보를 조합하여 사용할 수 있습니다.
Get data of certain tokens for certain EOAs Partially supported Nodit에서는 FT와 NFT에 대한 조회를 나누어 지원합니다. 동일한 응답을 구성하기 위해서는 Get Tokens Owned By AccountAPI와 Get NFTs Owned By AccountAPI를 각각 호출한 뒤, 반환된 토큰 정보를 조합하여 사용할 수 있습니다.
Update metadata of a certain NFT Token Not supported -
Update metadata of a certain MT Token Not supported -
Token Ownership API Query list of all owners for certain MTs Fully supported Get NFT Transfers By TokenId
* 이더리움 표준 기준 ERC1155의 케이스로, Nodit에서는 NFT 케이스로 포함
Query ownership change history for certain NFTs Fully supported Get NFT Transfers By TokenId
Token Ownership API Query received and sent transfers of tokens with transaction hash Not supported 자산의 전송만을 조회하기 위한 Transaction 조회 API는 별도로 제공하고 있지 않습니다. Get Transaction By Hash API로 트랜잭션에 대한 일반적인 정보를 조회할 수 있으며, 응답에 포함된 컨트랙트 정보를 이용한 2차 조회를 하는 형태로 구현 가능합니다.
Query received and sent transfers of tokens Partially supported 하나의 API로 자산의 타입을 지정하여 조회하는 기능은 제공하지 않고 있습니다. FT와 NFT에 대해 각각 Get Token Transfers by Account API와 Get NFT Transfers By Account API를 활용하여 유사한 응답을 얻을 수 있습니다.
Wallet API All Not supported KAS의 지갑 API는 계정 관리를 대행해주는 기능으로, 여러 퍼블릭체인을 위한 API를 제공하고 있는 Nodit에서는 보안상의 이유로 별도로 해당 기능을 제공하지 않습니다. 지갑 어플리케이션이나 계정 생성 함수를 이용하여 직접 Key를 생성 및 관리하 방식을 권장합니다.
KIP-7 API (FT) All Not supported Nodit은 컨트랙트의 배포 대행 및 관리 대행 관련한 별도의 서비스 레이어를 제공하지 않습니다. 개발툴을 활용한 컨트랙트 직접 배포 방법을 참고하여 직접 작성한 표준 토큰 컨트랙트를 네트워크에 배포한 뒤, 해당 컨트랙트를 호출하여 토큰을 민팅하거나 관리하는 방법을 권장합니다.
KIP-17 API (NFT) All Not supported Nodit은 컨트랙트의 배포 대행 및 관리 대행 관련한 별도의 서비스 레이어를 제공하지 않습니다. 개발툴을 활용한 컨트랙트 직접 배포 방법을 참고하여 직접 작성한 표준 토큰 컨트랙트를 네트워크에 배포한 뒤, 해당 컨트랙트를 호출하여 토큰을 민팅하거나 관리하는 방법을 권장합니다.
KIP-37 API (NFT 1155) All Not supported Nodit은 컨트랙트의 배포 대행 및 관리 대행 관련한 별도의 서비스 레이어를 제공하지 않습니다. 개발툴을 활용한 컨트랙트 직접 배포 방법을 참고하여 직접 작성한 표준 토큰 컨트랙트를 네트워크에 배포한 뒤, 해당 컨트랙트를 호출하여 토큰을 민팅하거나 관리하는 방법을 권장합니다.
Metadata API All Not supported Nodit은 컨트랙트의 배포 대행 및 관리 대행 관련한 별도의 서비스 레이어를 제공하지 않습니다. 개발툴을 활용한 컨트랙트 직접 배포 방법을 참고하여 직접 작성한 표준 토큰 컨트랙트를 네트워크에 배포한 뒤, 해당 컨트랙트를 호출하여 토큰을 민팅하거나 관리하는 방법을 권장합니다.

KAS Node API와 Nodit Node API는 어떻게 다른가요?

두 API는 같은 기능을 제공하는 API입니다. 두 API 모두 사용자가 직접 노드를 실행시키지 않고도 노드 클라이언트가 기본적으로 제공하는 인터페이스들을 사용할 수 있도록 하는 것을 그 목표로 하며, 이때 대행 운영하는 노드로부터 제공되는 노드 클라이언트의 인터페이스는 동일하기 때문입니다. Nodit의 Kaia 노드 API로 eth,net,web3,debug,kaia,klay,subscription 네임스페이스를 모두 사용할 수 있습니다. 99.9% Uptime의 견고한 Nodit 노드를 활용하여 Kaia Node API를 연동해보세요.

Nodit Node API를 사용하려면 어떻게 해야하나요?

Nodit Quickstart페이지를 참고하여 Nodit 콘솔에서 Kaia 노드 엔드포인트를 확인하세요. 해당 엔드포인트를 활용하여 Node API를 호출할 수 있습니다. 간단한 테스트 호출은 Kaia 하위 페이지에서 바로 실행 가능합니다.

Nodit의 Kaia 관련 기능은 무료로 사용할 수 있나요?

네, Node API와 Web3 Data API를 포함한 모든 Kaia 관련 기능은 모두 무료로 사용할 수 있습니다. 다만 무료 요금제에서는 API 호출 수나 사용량에 대한 제약이 존재합니다. 요금제 별 사용량에 관한 사항은 Pricing페이지를 참고해주세요!

Nodit에서는 왜 지갑 API나 토큰 관련 API를 제공하지 않나요?

Nodit은 여러 퍼블릭 체인 환경에서의 공통적인 개발 환경을 제공하고 있습니다. 따라서 계정 또는 자산을 발행하기 위한 컨트랙트 및 민팅 이력을 관리하기 위한 별도의 서비스 레이어를 제공하지 않으며, 보안 리스크가 없도록 구현하는 어플리케이션 레벨에서 직접 계정 생성 또는 컨트랙트 관리를 하도록 권장하고 있습니다. 블록체인이 처음이라 직접 개발하는 부분이 어려우시다면, 튜토리얼 탭으로 이동하여 Nodit에서 제공하는 초보자를 위한 다양한 튜토리얼 및 학습 컨텐츠를 확인해보세요.

Kaia의 높은 사용량을 활용하여 고성능 어플리케이션을 개발하고 싶습니다. 전용 노드를 사용할 수 있을까요?

Nodit에서는 Kaia Dedicated 노드를 지원합니다. 격리된 별도의 환경에서 고성능의 노드 환경을 사용할 수 있습니다. Dedicated 노드에 관한 사항은 Elastic Nodes Vs. Dedicated Nodes페이지를 참고해주세요.