Skip to content

gkozyryatskyy/evm-history

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

evm-history

evm-history

Configuration

LOCAL: Building the application

# build with local profile, without tests, with docker image build
# (!!!) Use java 21 to build, because lombok do not support java 23+
mvn clean install
# with tests, test using dev services, so no need to run any infra
mvn clean install -DskipTests=false

LOCAL: Running the application

# run infra
cd {project-root}/src/main/docker
docker compose up -d 
# run project from docker
docker compose -f project.yml up -d
# for runing project from IDE, just run io.evm.history.Main.main(String... args)

LOCAL: Dashboard

# Open dashboard
http://localhost:8080/

LOCAL: Stop the application

# stop the app from docker
cd {project-root}/src/main/docker
docker compose -f project.yml down 
# stop the infra
docker compose down
# if you want the volumes also to be deleted
docker compose down -v

HTTP routes

Name URL Description
Dashboard localhost:8080 Dashboard endpoint
Healthcheck localhost:8080/q/health Healthcheck endpoint
Metrics localhost:8080/q/metrics Metrics endpoint. Return metrics in 'Prometheus' format

Results

  • top 10 contracts called in the transactions that make up a blocks (by amount of calls) Screenshot 1.png
  • For each top 10 contract calculate
    • the original bytecode size
    • the maximum gas amount provided by users in calls to the contract Screenshot 2.png
    • the top 3 callers of each contract and how many times they called it (click on any contract and whole dashboard will be filtered by this contract) Screenshot 3.png

INFO

TODO

  • Switch contracts cache to Redis or DB calls
  • Track other contract interactions from logs
  • Get ABI and add tx ABI parsing
  • Try to add contract code decompilation if there is no ABI available

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published