Комментарии 8
Почему бы для начала из map не убрать Коннект к контракту?
"Путем сокращения количества кошельков было найдено ограничение в 10 JSON-RPC запросов в одном HTTP запросе на бесплатном плане Infura."
У Infura ограничение на 10 запросов в течение, кажется, 10 секунд. Потом она начинает сыпать ошибками, пока временной период не закончится.
Стоит такую работу уносить на бекенд и пусть он там синхронизирует в фоне? А на клиента отдавать готовые данные. Или если нет бекенда в проекте, то использовать индексер, например тот же TheGraph.
Хороший вопрос. В данном случае это был бекенд, который формирует CSV файл. Была задача выгрузить статистику по кошелькам пользователей из системы.
По поводу TheGraph – интересная штука, думаю на нем в один запрос можно было бы сделать. Но стараюсь не использовать проприетарные нестандартные API, все же веб3, децентрализация.
Thegraph стремиться к децентрализации, можно посмотреть список сетей, которые уже поддерживают децентрализацию. Когда они начали переводить на децентрализованную сеть свой протокол, это конечно немногим усложнило работу с ним.
Мы еще практикуем поднимать собственный узел для индексации на базе thegraph, чтобы не писать собственный индексатор, когда нужно быстро и несложно. И они вроде как опенсорсные, судя по википедии и доке, не нашел обратного)
ethers.js – оптимизация запросов JSON-RPC