# 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.
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## License
This project is licensed under the MIT License - see the [LICENSE](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.
Raw data
{
"_id": null,
"home_page": "https://github.com/gmatrixuniverse/evm-decoder",
"name": "evm-decoder",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": null,
"author": "gmatrixuniverse",
"author_email": "gmatrixuniverse@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/d7/4f/3f8328b4568b5a046dea0f6b8a623b90be04343ef8ba7c7aac49e513e8d5/evm_decoder-0.1.6.tar.gz",
"platform": null,
"description": "# EVM Decoder\n\nEVM 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.\n\n## Features\n\n- Decode EVM transaction input data\n- Decode EVM event logs\n- Analyze balance changes in transactions\n- Support for custom ABI and fixed types\n- Retrieve chain information for various EVM-compatible networks\n\n## Installation\n\nYou can install the EVM Decoder package using pip:\n```\nbash\npip install evm-decoder\n```\n\n\n## Usage\n\nHere's a quick example of how to use EVM Decoder:\n\npython\nfrom evm_decoder import DecoderManager, AnalyzerManager\nInitialize managers\ndecoder_manager = DecoderManager()\nanalyzer_manager = AnalyzerManager()\nExample transaction data\ntransaction_data = {\n'input': '0x23b872dd000000000000000000000000...',\n'from': '0xb8faa80fe04a4afd30c89f40e4fcdc6dafb274d9',\n'to': '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n'value': '0',\n'chain_id': 1,\n'logs': [...]\n}\nDecode the transaction\ndecode_result = decoder_manager.decode(transaction_data)\nprint(\"Transaction decode result:\", decode_result)\nAnalyze the transaction\nanalysis_result = analyzer_manager.analyze_transaction(transaction_data, {})\nprint(\"Transaction analysis result:\", analysis_result)\n\n\nFor more detailed examples, check the `examples` directory in the repository.\n\n## Configuration\n\nEVM 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`.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- Thanks to all contributors who have helped to improve this project.\n- This project makes use of several open-source libraries, including Web3.py and eth-abi.\n\n## Contact\n\nIf you have any questions or feedback, please open an issue on the GitHub repository.\n",
"bugtrack_url": null,
"license": null,
"summary": "A package for decoding and analyzing EVM transactions and logs",
"version": "0.1.6",
"project_urls": {
"Homepage": "https://github.com/gmatrixuniverse/evm-decoder"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5228d3bdc00b019b3acbe1544566983bf61b16c0721cb06c4f68e4bb9ba990da",
"md5": "4300e82a819896422eb82989462c31d7",
"sha256": "9335a567b63c13c18c33493e260f266ffa47f0dc16f26345c82e7ba36078db6a"
},
"downloads": -1,
"filename": "evm_decoder-0.1.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4300e82a819896422eb82989462c31d7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 15145,
"upload_time": "2024-10-21T07:15:25",
"upload_time_iso_8601": "2024-10-21T07:15:25.981011Z",
"url": "https://files.pythonhosted.org/packages/52/28/d3bdc00b019b3acbe1544566983bf61b16c0721cb06c4f68e4bb9ba990da/evm_decoder-0.1.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d74f3f8328b4568b5a046dea0f6b8a623b90be04343ef8ba7c7aac49e513e8d5",
"md5": "3f15c98449a7427cf504a0ee623e3b4c",
"sha256": "ea140faec27039fd5e06df5b0de72341611603b433e55676bbcf940cbe428ad2"
},
"downloads": -1,
"filename": "evm_decoder-0.1.6.tar.gz",
"has_sig": false,
"md5_digest": "3f15c98449a7427cf504a0ee623e3b4c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 13121,
"upload_time": "2024-10-21T07:15:27",
"upload_time_iso_8601": "2024-10-21T07:15:27.845049Z",
"url": "https://files.pythonhosted.org/packages/d7/4f/3f8328b4568b5a046dea0f6b8a623b90be04343ef8ba7c7aac49e513e8d5/evm_decoder-0.1.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-21 07:15:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "gmatrixuniverse",
"github_project": "evm-decoder",
"github_not_found": true,
"lcname": "evm-decoder"
}