Api 사용량을 추적하고 싶습니다

위의 두 이미지를 보시면 API 사용량이 25000 건이 넘는데…

아무리 생각해도 너무 많이 나온 것 같습니다.

const cont = new caver.klay.Contract(abi, contract_addr);
const result = await cont.methods.getEventMintedIndex().call();

상단의 코드처럼 콜하는 함수도 Node API에 속하나요?

찾아보니까 console.log() 때문에 많이 보일 수도 있다고 하는데

이해가 안 가지만… 데이터를 console.log() 로 출력하는 것도

Node API 호출에 포함되나요?

또,

const caver = new Caver(window.klaytn);
const result = await caver.klay.getBlockNumber();

const wallet = await window.klaytn.enable();

위와 같이 블록번호와 지갑 주소를 얻어오는 함수도 해당되는 것인지도 궁금합니다.

var bnMintCount = new Caver.utils.BigNumber(1);

이런 유틸리티성 함수 호출도 여러번 하고 있는데 이 함수도 Node API로 볼 수 있을까요?

const conForSend = caverForSend.contract.create(abi, contract_addr);

const inputDataForSend = await conForSend.methods.eventMint(fixedMintingCnt).encodeABI();
const result = await caverForSend.klay.sendTransaction( …

제 생각에는 바로 위의 create 하는 함수와 methods.eventMint 함수, sendTransaction 함수
이 3개의 함수만이 Node API로 생각되는데 맞을까요?

단 하루 1시간 정도 진행한 이벤트 민팅에서 이 정도의 API 호출 수가 나오는 게 아무리 생각해도 이상하게 여겨집니다.

그리고,

Starter Unlimited

  • 300,000원/월, 100,000 Requests/일
    초기 블록체인 서비스를 위한 플랜을 사용해보세요.
    Baobab(Testnet), Cypress(Mainnet), 티켓 기반 지원, API Request 한도 초과 사용

제가 이 상품을 사용하고 있는데
만약에 API 호출 수가 100,000 번이 넘으면 어떻게 되나요?
API Request 한도 초과 사용 → 이 옵션이 있어서 사용은 가능하지만
요금이 추가로 나올 수 있는 건가요?

단순 계산으로 나중에 본격적으로 할 때,
이벤트 민팅의 100배 정도 데이터가 나올 것 같은데…
이 경우 제일 높은 단계의 Pro Plus Unlimited 결제를 해야 바람직할까요?
그래야만 대략 2백만 개 이상의 Node API 호출을 감당할 수 있을까요?

추가로,
이용하고 있는 상품에 대해 환불 요청을 하면
일할 계산이 되어 사용한 만큼은 지불하고 나머지는 환불이 가능할까요?

금전적인 부분이 있어 구체적으로 알려주셨으면 좋겠습니다.
민감한 정보를 언급하셔야 된다면 메일로 답변주시면 좋을 것 같습니다.

긴 글 읽어주셔서 감사합니다.

안녕하세요.

집계되는 Node API는 KAS에서 제공하는 Node에 RPC call을 요청하는 기준입니다.
위에 적어주신 예제 중에서는

const result = await cont.methods.getEventMintedIndex().call();
const result = await caver.klay.getBlockNumber();
const inputDataForSend = await conForSend.methods.eventMint(fixedMintingCnt).encodeABI();
const result = await caverForSend.klay.sendTransaction( …

이 정도의 함수가 내부적으로 rpc call을 합니다.
특히나 트랜잭션을 전송하는 caverForSend.klay.sendTransaction의 경우, 전송을 편리하게 하기 위해 사용자가 지정한 옵셔널 파라미터에 따라서 추가적으로 chainId, gasPrice, nonce를 쿼리하는 요청을 보내며, 전송 이후에도 트랜잭션 처리 결과가 담긴 receipt을 리턴해 주기 위해서 리턴을 받을 때까지 노드에 caver.klay.getTransactionReceipt 요청을 일정한 주기로 보냅니다.
그러므로 하나의 함수 사용에도 여러 개의 rpc call이 사용될 수 있습니다.

기타 KAS 서비스에 대한 문의는 KAS Forum에 문의해 주시기 바랍니다.
https://forum.klaytn.foundation/t/notice-for-kas-klip-kaikas-forum-migration/4257/2

1 Like