Skip to content

Latest commit

 

History

History
19 lines (14 loc) · 1.35 KB

File metadata and controls

19 lines (14 loc) · 1.35 KB

evm_inspect

  • Небольшой HTTP сервер, написаный на Rust, который предоставляет доступ к EVM, позволяющей вынимать трейсы всех транзакций блока
  • EVM основана на revm для которой написан нужный inspector

Как собрать и запустить

cargo build --release ; ./target/release/evm_inspect

Поднимется сервер, слушающий порт 3000 (hardcoded for now)

endpoints

  • GET trace_block/[id] - вычисляет и возвращает трейсы всех транзакций заданного блока в формате json. На каждый запрос под капотом создается отдельный инстанс EVM, который ходит во внешнюю Ethereum node по сети для получения данных (транзакции блока, допступы к storage)

TODO

  • Улучшить логгирование
  • Отладитить конкурентные вызовы trace_block (не протестировано на практике)
  • Возможно обогатить трейс данными об изменении storage контракта в результате вызова