shazow / whatsabi

Extract the ABI (and resolve proxies, and get other metadata) from Ethereum bytecode, even without source code.
https://shazow.github.io/whatsabi/
MIT License
1.06k stars 74 forks source link

Accuracy and speed results from EVMole benchmark #66

Open cdump opened 11 months ago

cdump commented 11 months ago

Hi, I've added your project to the accuracy and speed benchmark of cdump/evmole

I think you may be interested in that results, to examine errors of whatsabi you can run:

$ sudo apt install git-lfs
$ git clone https://github.com/cdump/evmole 
$ cd evmole/

# you need GNU Make, https://formulae.brew.sh/formula/make - if you are using macos

$ PROVIDERS="etherscan whatsabi" make -C benchmark
$ poetry run python3 benchmark/compare.py --providers etherscan whatsabi --web-listen 0.0.0.0:8080 

# skip PROVIDERS/--providers to compare with other tools, like evm-hound-rs & evmole

Open http://127.0.0.1:8080 after that and you'll see the results: 20231202_10h28m29s_grim

P.S. if you believe I am using your project incorrectly, please feel free to submit a pull request with fixes.

shazow commented 11 months ago

Heya, just wanted to follow up, thanks again for tracking this!

I'm mostly focused on proxy stuff right now but I'd love to dive into the false positives/negatives sometime soon too. :)

One suggestion as you're accumulating benchmarks: Would be nice to include which version of the respective library/codebase was benchmarked.

cdump commented 11 months ago

include version

got it, will add it to the results soon.

btw, in the latest version you can view the errors right in the console without using the browser by running compare.py with --show-errors instead of --web-listen 0.0.0.0:8080