Size: a a a

2021 May 26

AZ

Alexey Zhdanov in Ethereum Russia
Если не хочется пилить 300к запросов getCode, то можно через смарт-контракт

Сделать view-метод, принимающий пачками адреса и по циклу реализующий что-то вроде isContract из https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Address.sol
источник

DK

Dan Kaizer in Ethereum Russia
Без обид но это самая сомнительная оптимизация которую когда либо видел.

Вместо того чтобы просто пройтись в цикле по всем адресам и сделать getCode.

Предлагается написать контракт, его задеплоить в мейннет в который пачками грузить адреса потом получать ответы от контракта, очевидно в не самом удобном формате.  В контракте к слову будет написан точно такой же цикл как и в первом варианте.
источник

AZ

Alexey Zhdanov in Ethereum Russia
Имхо одна из лучших оптимизаций, когда в условии задачи стоит вопрос оптимизировать запросы. Деплоить свой контракт - решение в лоб, можно поискать уже задеплоенные multicall и посмотреть что из этого можно получить
источник

AZ

Alexey Zhdanov in Ethereum Russia
На инфуре 3 дня займет дудос запросом getCode, ибо там лимит 100к/день
источник

MD

Microwave Dev in Ethereum Russia
можно не деплоить, в нодах есть вроде такая фича которая позволяет отправить байткод и выполнить его с нужным инпутом в call запросе сразу
источник

MD

Microwave Dev in Ethereum Russia
но в этом случае наверное лучше всётаки несколько часов запросы попосылать))
источник

DK

Dan Kaizer in Ethereum Russia
Можно поидее форк мейннета заюзать чтобы не деплоить
источник

MD

Microwave Dev in Ethereum Russia
или вот да
источник

AZ

Alexey Zhdanov in Ethereum Russia
Ещё лучше решение
источник

AZ

Alexey Zhdanov in Ethereum Russia
Если форк стабильно себя ведёт конечно (ganache как-то тупит на большом кол-ве запросов, не знаю как хардхат себя ведёт)
источник

DK

Dan Kaizer in Ethereum Russia
Ну там и тот и другой через 30 минут работы поплыть могут
источник

AZ

Alexey Zhdanov in Ethereum Russia
Не помню то ли по ipc то ли по rpc можно у geth отправить на исполнение js-скрипт, что тоже валидное решение
источник

AZ

Alexey Zhdanov in Ethereum Russia
Задача "запарсить блокчейн за 30 минут")
источник

MD

Microwave Dev in Ethereum Russia
на алхеми лучше, да и форк оттудаже, он поидее также всё будет дёргать
источник

DK

Dan Kaizer in Ethereum Russia
А на алхимии какие лимиты?
источник

AZ

Alexey Zhdanov in Ethereum Russia
Ну если автору вопроса сутками парсить устроит то наши оптимизации тут нафиг не нужны))
источник

MD

Microwave Dev in Ethereum Russia
гораздо больше чем на инфуре, а так на вскидку не скажу
источник

IM

Igor Mandrigin in Ethereum Russia
Можно в turbogeth просто по базе пройтись
источник

IM

Igor Mandrigin in Ethereum Russia
Или у локальной ноды любой запросить :)
источник

MD

Microwave Dev in Ethereum Russia
да кто такой этот ваш турбогез, надо посмотреть хоть чо там
источник