Я хочу быстро найти истории транзакций в Ethereum, без WebAPI, как Etherscan.io.
Но я не могу.
Подскажите, пожалуйста, как быстро искать как etherscan.io, etherchain.org и gastracker.io.
Необходимая функция
Поиск
- Для результата поиска 100 нужно 5 секунд ниже.
Ниже 5 клиентов используют одновременно для поиска.
Etherscan.io
есть ограничение на WebAPI.
Быстрая синхронизация
- Меньшая задержка между сетями Ethereum, такими как Etherscan.io.
Без etherscan.io, etherchain.org и gastracker.io, другие аналогичные услуги.
Пробные задачи
Используйте Geth + Web3.js + Node.js + MySQL
Это не хорошо. Потому что, SELECT SQL имеет много времени для запуска.
Я сам пытался создать систему.
Моя функция поиска по истории транзакций имеет 10 секунд, поиск с 5 902 085 блоков до 4 900 637 (предел 100 результатов).
И нужно много времени для синхронизации, потому что следует копировать историю транзакций в MySQL из Geth (через web3.js).
Поэтому это не хорошо.
Использовать только Parity.js
Паритет имеет transaction_filter
API. Но недостаточно.
Потому что, используя trace_filter
для поиска / фильтрации от первого блока до 3 000 000, нужно более 10 минут для завершения.
Это не QUICK
.
Я знаю, этот результат зависит от спецификации сервера и команды запуска Parity.
I Используемый сервер имеет спецификации ниже: AWS EC2 T2.Medium
, Используемая команда: docker run -d -p 8545:8545 -p 8080:8080 -p 8180:8180 -v $HOME/eth_parity_data:/root/.local/share/io.parity.ethereum --name eth_parity_node parity/parity:stable --fat-db on --tracing on --rpcaddr=0.0.0.0
для запуска Parity в Ubuntu.
Это спецификации сервера и команда плохая?
Спасибо.