KAS Docs - 6 [ Node API 다루기 ]

Lumi·2021년 11월 30일
0

Klaytn

목록 보기
7/10
post-thumbnail

🔥 개요

지갑 API에 이어서 Node API를 다루는 시간을 가져보았다.

JSON RPC요청을 해야 하기 떄문에 기본적잉ㄴ 규격에 의해서 파라미터들을 입력해 주어야 한다.

PRC는 일단 KAS의 Node API와, EN로 구성이 되어있다.

이떄 Node API는 클레이튼 생태계에서 가장 끝단에 있는 엔드포인트 노드(EN)에 요청을 하는 프록시 역할을 하게 된다.

  • 이외에도 여러가지 기능이 있지만 기본적인 기능을 말한 것이다.

하지만 EN의 모든 메서드를 지원을 하고 있지는 않고 어떤 메서드를 지원하는지 확인하려면
https://console.klaytnapi.com/ko/service/node

이곳을 참고해 보자

🔥 지갑에 클레이의 갯수 확인

말그대로 지갑에 얼마만큼의 금액이 들어있는지를 확인하는 API이다.

EN의 메서드중 klay_getbalance를 사용한다.

post 요청으로 https://node-api.klaytnapi.com/v1/klaytn를 활용하며

기본적으로 chain-id, Authorization은 이전과 동일하다.

  • 추가로 Content-Type를 application/json 으로 설정해 주어야 한다.

  • 추가적으로 Kaikas에 있는 공개 주소값을 넣어서도 확인 가능하다.

클레이튼의 지갑에 대해서 모두 적용 가능한 API이다.

  • params에 들어가는 latest는 가장 최근에 업데이트된 정보를 가져오라는 의미이다.

result 는 pap단위로 보여주는 것이다.

이것을 코드로 통해서 보면

axios.post("https://node-api.klaytnapi.com/v1/klaytn",{
	headers:{
    	'x-chain-id': '1001',
        "Content-Type": "application/json"
        Authorization: "개인의 값"
    },
    body:{
    	id:1,
        jsonrpc:"2.0",
        method:"klay_getbalance",
        params:[지갑주소, "latest"]
    },
    json: true
})

이와 같이 작성 가능하다.

🔥 FT 컨트랙트 조회

FT 컨트랙트 정보를 조회한다.

조회대상 컨트랙트는 반드시 ERC-20 또는 KIP-7 표준을 지켜야 한다.

만약 요청받은 컨트랙트가 존재하지 않는경우에는 컨트랙트 주소를 제외한 모든 응답값들은 빈 문자열 또는 0/-1로 채워지게 된다.

앞서 말한 표준을 따리지 않는경우에는 컨트랙트에 따라 다르게 나오게 된다.

https://node-api.klaytnapi.com/v1/metadata/ft/{address}

API주소는 다음과 같다.

해당 address값은 컨트랙트 주소를 넣어주어야 하고 이 컨트랙트 주소는 FT토큰을 발행할떄 발생하는 컨트랙트 주소를 말한다.

🔥 NFT 컨트랙트 조회

FT 컨트랙트와 동일한 조건을 가지고 있다.

조회 대상은 반드시 ERC-721, KIP - 17표준을 지켜야 한다.

https://node-api.klaytnapi.com/v1/metadata/nft/{address}

🔥 NFT 조회

NFT컨트랙트와 거의 똑같지만 파라미터 값이 하나 추가가 되었다.

  • NFT의 id값

https://node-api.klaytnapi.com/v1/metadata/nft/{address}/{id}

🔥 후기

이 글이 매우 짧아보이지만 실제로는 많은 양이다.

이중 가장 많은양을 차지하는 것은 지갑에 클레이 갯수 확인이다

왜냐하면 이 부분에서 body값에 다양한 메서드를 사용할수 있기 떄문이다.

  • 내가 올려놓은 링크를 통하면 많은 메서드가 있다는 것을 확인할 수가 있다.

내가 다룬 부분은 그 많은 메서드중 한개일 뿐이다.

환경에 따라서 적합한 메서드를 사용하면 된다.

profile
[기술 블로그가 아닌 하루하루 기록용 블로그]

0개의 댓글