cdump / evmole

Extracts function selectors, arguments and state mutability from EVM bytecode, even for unverified contracts
https://evmole.xyz
MIT License
281 stars 18 forks source link

Implementation on pure go #5

Open kalloc opened 4 months ago

ngotchac commented 3 months ago

A first implementation could be to compile the rust version to WASM, and use a WASM interpreter in a go library

cdump commented 3 months ago

Why use WASM if we can compile Rust to a .so library and just call it using CGo (by writing a minimal Go wrapper library for users)?

ngotchac commented 3 months ago

Wouldn't that be platform-dependent? Requiring to compile it to all supported platforms.

cdump commented 3 months ago

Yes, but I think it can be solved somehow (like in Python packages - prebuilt for popular platforms + compilation on install for others), and probably it would be easier than living with WASM limitations in Rust code. Anyway, I'm open to all solutions and will probably do some R&D before deciding on the best option.