![](https://private-user-images.githubusercontent.com/4940271/294727044-365a9cc6-14d0-4ae9-8c01-0311ac443cd7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM4NjkyNjAsIm5iZiI6MTcyMzg2ODk2MCwicGF0aCI6Ii80OTQwMjcxLzI5NDcyNzA0NC0zNjVhOWNjNi0xNGQwLTRhZTktOGMwMS0wMzExYWM0NDNjZDcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDgxNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA4MTdUMDQyOTIwWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9M2JjNmQzOTk3Yzc2YTdhMzk0ZTZjZTg5YmE5ZDNmMWNlOTI2YTFmNTQ2NDU1MTI2ZDRiMDJjOWM0YzAyOWI1YyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.RSAmFoJYSP3VrCRcqljdB1qa5eeW1HFH1kzTiPRyFJs)
ethpwn
is a project inspired by the widely popular CTF exploitation framework pwntools, and the amazing enhanced GDB utility GEF. In other words, ethpwn is all you ever wanted for debugging and interacting with smart contracts on EVM-based blockchains.
More practically, this package includes a kick-ass command line debugger for simulating and re-playing Ethereum transactions (ethdbg
), and a set of convenient wrappers for many web3
functionalities that are useful for interacting with smart contracts.
pip install ethpwn
Make sure your pip version is >= 23.1.2, then:
git clone [email protected]:ethpwn/ethpwn.git && cd ./ethpwn && pip install -e .
❗️ Note |
---|
To start out, if you haven't created your global config before, you should run ethpwn config create to generate your initial configuration file. This command will interactively prompt you for the most important settings, including the Ethereum node URL to use and wallets you want to use. |
ethdbg --txid 0x82a11757c3f34c2882e209c6e5ae96aff3e4db7f7984d54f92b02e1fed87e834 --node-url https://mainnet.infura.io/v3/38eb4be006004da4a89315232040e222
Chain Name | Chain Id | Supported |
---|---|---|
mainnet | 1 | ✅ |
sepolia (testnet) | 11155111 | ✅ |