KAS api call limit 관련

caver-js를 통해 public en에 연결하여 klip partenrs를 통해 발급한 NFT card의 목록을 가져오는 기능을 호출하면 정상적으로 호출됩니다.

그런데 KAS를 적용하기 위해 caver-js-ext-kas를 이용할 경우
"Request failed: Too Many Requests"
라고 에러 메시지가 출력됩니다.

세부 내용은 다음과 같습니다.

card 정보 조회는 cardID마다 달라서 동시에 조회해도 되기에 아래와 같이 Promise.all 과 array의 map function을 이용했습니다.

await Promise.all(list.map(async(value) => {
let cardInfo = {};
let cardID = await kip17.tokenOfOwnerByIndex(addr, value);
let detail = await kip17.tokenURI(cardID);
cardInfo.cardID = cardID;
cardInfo.detail = detail
return cardInfo;
}));

추측하기로는 KAS api call의 동시 호출 제한 정책과 관련이 있는 듯 한데,
관련 자료나 내용이 있으면 참고할 수 있도록 공유 부탁드립니다.

참고로 저 위 코드에서 list의 개수는 28입니다.

안녕하세요.

말씀하신대로 KAS의 API 호출 제한 정책에 걸려서 실패한 경우입니다.
시스템에 지나치게 많은 Burst request를 막기 위해 설정이 되어 있는데, 그 제약이 좀 타이트 해 보입니다.

값이 변경되면 다시 답변 남기도록 하겠습니다.

불편을 드려 죄송합니다.

초당 API 호출 제한 수가 증가 되었습니다.
Free 플랜의 경우 계정을 만드는 것에 제약이 없어, 동시 다발적인 공격으로 이어질 수 있기 때문에 제약이 설정되어 있습니다. 현재는 초당 100개 이상의 API 호출까지 허용합니다.

감사합니다.

1 Like

네. 빠른 답변 감사드립니다.

현재는 동시 100 call이면 충분할 것 같습니다.