Pull to refresh

Comments 8

Почему бы для начала из map не убрать Коннект к контракту?

Вы имеете в виду вызов new ethers.Contract(...) ? Это конструктор, который инициализирует объект контракта, создает его свойства, но не обращается к RPC, поэтому картина не поменяется.

"Путем сокращения количества кошельков было найдено ограничение в 10 JSON-RPC запросов в одном HTTP запросе на бесплатном плане Infura."

У Infura ограничение на 10 запросов в течение, кажется, 10 секунд. Потом она начинает сыпать ошибками, пока временной период не закончится.

Да, throttling тоже есть. Количество HTTP запросов в секунду не тестил, писал про ограничение в 10 JSON-RPC запросов в одном HTTP запросе (батче).

Стоит такую работу уносить на бекенд и пусть он там синхронизирует в фоне? А на клиента отдавать готовые данные. Или если нет бекенда в проекте, то использовать индексер, например тот же TheGraph.

Хороший вопрос. В данном случае это был бекенд, который формирует CSV файл. Была задача выгрузить статистику по кошелькам пользователей из системы.

По поводу TheGraph – интересная штука, думаю на нем в один запрос можно было бы сделать. Но стараюсь не использовать проприетарные нестандартные API, все же веб3, децентрализация.

Thegraph стремиться к децентрализации, можно посмотреть список сетей, которые уже поддерживают децентрализацию. Когда они начали переводить на децентрализованную сеть свой протокол, это конечно немногим усложнило работу с ним.

Мы еще практикуем поднимать собственный узел для индексации на базе thegraph, чтобы не писать собственный индексатор, когда нужно быстро и несложно. И они вроде как опенсорсные, судя по википедии и доке, не нашел обратного)

Спасибо, выглядит интересно в таком случае

Sign up to leave a comment.

Articles