Where should we handle RPC/API calls? Back-end or the client?
Closed this issue · 4 comments
junhoyeo commented
- 현재는 Public Node 의 엔드포인트를 쓰는 중인데, 백엔드에서 하다가 rate limit 먹으면 어떡하지
code-yeongyu commented
배경 지식이 없어서 무식한 질문 드립니다..!
지금 프로젝트에서 RPC 호출은 어떨때 쓰이고 있나용?
junhoyeo commented
배경 지식이 없어서 무식한 질문 드립니다..!
지금 프로젝트에서 RPC 호출은 어떨때 쓰이고 있나용?
- 블록체인에서 정보(balance 조회, 토큰 정보, 컨트랙트 실행 등) 쿼리할 때 쓰고 있어요.
- Provider 로 검색해 보시면 금방 찾을 수 있을 거예요!
- 대부분의 노드가 public 이라서 따로 서버를 둘 필요가 없거나, 서비스가 일정 크기가 되기 전까지는 최소화 시킬 수 있을 거라고 기대했었어요! Rainbow(앱) 등에서도 직접 클라이언트에서 바로 쿼리하고 있기도 했고요!
- 일단 처리 로직의 호출 위치와 무관하게 core 패키지 등으로 핵심 로직을 분리해 두려고 해요. 나중에 앱을 만들었을 때 결정이 바뀔 수도 있고, API 로 분리하기 쉽도록요.
junhoyeo commented
Making HTTP requests on the client side with Javascript is currently prohibited through CORS configuration. This is to protect your API Key which should not be visible to users of your application so your API Key is not stolen. Secure your API Key by routing calls through your own backend service.
NOTE: CoinMarketCap API only supports backend calls
junhoyeo commented
Conclusion: In the client if possible. Staring by OpenSea and CoinGecko...