현재 클레이튼에서 많은 NFT민팅이 되고있는데 NFT민팅을 진행할때마다 Kaikas API서버의 응답이 늦어지면서 사용자들의 경험이 매우 안좋아지고 있습니다.
현재 Kaikas는 주기적으로 지갑의 모든 balance를 가져오도록 되어있는데 이 요청에 대한 응답이 늦어져 브라우저의 최대 동시 요청 갯수인 6개로는 제시간에 처리하지 못할정도로 요청이 쌓이게됩니다.
Kaikas는 현재 지갑 잔고를 조회하지 않아도 되는 페이지에서, 단순히 Kaikas 팝업이 떠있는 모든 상황에서 전체 잔고에 대한 업데이트를 진행합니다.
현재 유행하는 block height로 민팅을 하는 방식에서 사용자는 위와같은 트랜잭션 승인창을 목표 block height에 도달하기전까지 계속해서 켜놓게 되며 저같은경우 Kaikas에서 사용하는 20개 지갑의 balance를 지속적으로 요청하게 됩니다. 이는 API서버와 Kaikas에서 사용하는 EN에 부담되게 되어 요청을 제시간에 처리하지 못해 발생하는 사용성 저하의 요인중 하나입니다. 전체 지갑 balance를 갱신하지 않아도 되는 Transaction Execution, Wallet Unlock, Wallet Enable 페이지일 경우 balance refresh 를 진행하지 않을것을 제안합니다.
추가적으로 request queue와 pending request에 대해선 timeout을 설정하여 요청이 쌓이는것을 방지하는 작업도 해주시면 좋겠습니다. 아래 코드를 참고하세요.