A package for decoding and analyzing EVM transactions and logs
Project description
EVM Decoder
EVM Decoder is a Python package for decoding and analyzing Ethereum Virtual Machine (EVM) transactions and logs. It provides tools to help developers and researchers understand and work with EVM-based blockchain data.
Features
- Decode EVM transaction input data
- Decode EVM event logs
- Analyze balance changes in transactions
- Support for custom ABI and fixed types
- Retrieve chain information for various EVM-compatible networks
Installation
You can install the EVM Decoder package using pip:
bash
pip install evm-decoder
Usage
Here's a quick example of how to use EVM Decoder:
python from evm_decoder import DecoderManager, AnalyzerManager Initialize managers decoder_manager = DecoderManager() analyzer_manager = AnalyzerManager() Example transaction data transaction_data = { 'input': '0x23b872dd000000000000000000000000...', 'from': '0xb8faa80fe04a4afd30c89f40e4fcdc6dafb274d9', 'to': '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', 'value': '0', 'chain_id': 1, 'logs': [...] } Decode the transaction decode_result = decoder_manager.decode(transaction_data) print("Transaction decode result:", decode_result) Analyze the transaction analysis_result = analyzer_manager.analyze_transaction(transaction_data, {}) print("Transaction analysis result:", analysis_result)
For more detailed examples, check the examples
directory in the repository.
Configuration
EVM Decoder uses a configuration file to set up decoders. You can customize this file to add support for specific contracts or event types. The default configuration file is located at evm_decoder/config/decoder_config.json
.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Thanks to all contributors who have helped to improve this project.
- This project makes use of several open-source libraries, including Web3.py and eth-abi.
Contact
If you have any questions or feedback, please open an issue on the GitHub repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file evm_decoder-0.1.0.tar.gz
.
File metadata
- Download URL: evm_decoder-0.1.0.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60beef445f00b68da2fa5525f2a3dc1dde0c9406bb4dac477a39e9527131f191 |
|
MD5 | 53acf6136899783d3fec01c48aba462b |
|
BLAKE2b-256 | e888a667fb7ae8974fae61133b017f8007b2289b2ba53da52e338227875e2052 |
File details
Details for the file evm_decoder-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: evm_decoder-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d62a75ba4d93f714af82a2e98333a78f716dabccdd14dad1fb2d5dd059b7bb2 |
|
MD5 | 1e1cca4ca9da3ebf36218f06987125ef |
|
BLAKE2b-256 | 13f1727853cd383d93fa3437481794d656864198a58a794545b86659b0290910 |