## ETHBinductor (ETH Contract abi Bind Conductor)
This tool helps to generate web3py bind of etherium contract abi from abi json.
### Installation:
```bash
pip install ethbinductor
```
Additional lib for binds:
```bash
pip install ethbind
```
### Usage:
#### Run cli:
```bash
python -m ethbinductor
```
or
```bash
python3 -m ethbinductor
```
else
```bash
ethbinductor
```
#### Parse abi & get using abi providers:
```bash
# Contract (ERC20) load using etherscan http json api (default output to console)
ethbinductor get-abi 0xc3761eb917cd790b30dad99f6cc5b4ff93c4f9ea --abi-provider etherscan
```
##### Save json abi into the file (more providers see in the sources & cli help)
```bash
# Contract (ERC20) load using etherscan http json api (save to file)
ethbinductor get-abi 0xc3761eb917cd790b30dad99f6cc5b4ff93c4f9ea --abi-provider etherscan --output file examples/abi/erc20.json
```
#### Translate json abi to the code bind:
```bash
# Contract (ERC20) load using file & translate it to native Python binding (default output to console)
ethbinductor abi2py --cls-name ERC20 --abi-provider file examples/abi/erc20.json
```
```bash
# Same, but save translated code to file
ethbinductor abi2py --cls-name ERC20 --abi-provider file examples/abi/erc20.json --output file examples/eth_erc20_bind.py
```
```bash
# Contract (ERC20) load using etherscan & translate it to native Python binding (default output to console)
ethbinductor abi2py --cls-name ERC20 --abi-provider etherscan 0xc3761eb917cd790b30dad99f6cc5b4ff93c4f9ea
```
##### Save Python bind into the file (more providers see in the sources & cli help)
```bash
# Contract (ERC20) load using etherscan & translate it to native Python binding (save to file)
ethbinductor abi2py --cls-name ERC20 --abi-provider etherscan 0xc3761eb917cd790b30dad99f6cc5b4ff93c4f9ea --output file examples/eth_erc20_bind.py
```
Bind example of ERC20 you can see [here](https://github.com/BlackCatDevel0per/ETHBinductor/blob/main/examples/eth_erc20_bind.py) with usage [example](https://github.com/BlackCatDevel0per/ETHBinductor/blob/main/examples/erc20_test.py) but, first install base lib:
```bash
pip install ethbind
```
##### TODO: Custom samples & providers (for example to use bscscan with your api key & etc.)
[//]: # (TODO: Jinja2 sampling, [Optional] Pydantic type checks, other cli tools.. & rename some files..)
Raw data
{
"_id": null,
"home_page": null,
"name": "ethbinductor",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8.1",
"maintainer_email": null,
"keywords": "etherium, eth, code-gen, bind, translation, dev, ipfs, docs, tester",
"author": "BlackCatDevel0per",
"author_email": "bcdev@mail.ru",
"download_url": "https://files.pythonhosted.org/packages/d0/22/d0fced880e9839110f6a2ef56612e8490b4bc0f1387f2cdf7998b591e25d/ethbinductor-0.0.9.tar.gz",
"platform": null,
"description": "## ETHBinductor (ETH Contract abi Bind Conductor)\n\nThis tool helps to generate web3py bind of etherium contract abi from abi json.\n\n### Installation:\n```bash\npip install ethbinductor\n```\n\nAdditional lib for binds:\n```bash\npip install ethbind\n```\n\n### Usage:\n\n#### Run cli:\n```bash\npython -m ethbinductor\n```\nor\n```bash\npython3 -m ethbinductor\n```\nelse\n```bash\nethbinductor\n```\n\n#### Parse abi & get using abi providers:\n```bash\n# Contract (ERC20) load using etherscan http json api (default output to console)\nethbinductor get-abi 0xc3761eb917cd790b30dad99f6cc5b4ff93c4f9ea --abi-provider etherscan\n```\n\n##### Save json abi into the file (more providers see in the sources & cli help)\n```bash\n# Contract (ERC20) load using etherscan http json api (save to file)\nethbinductor get-abi 0xc3761eb917cd790b30dad99f6cc5b4ff93c4f9ea --abi-provider etherscan --output file examples/abi/erc20.json\n```\n\n#### Translate json abi to the code bind:\n```bash\n# Contract (ERC20) load using file & translate it to native Python binding (default output to console)\nethbinductor abi2py --cls-name ERC20 --abi-provider file examples/abi/erc20.json\n```\n\n```bash\n# Same, but save translated code to file\nethbinductor abi2py --cls-name ERC20 --abi-provider file examples/abi/erc20.json --output file examples/eth_erc20_bind.py\n```\n\n```bash\n# Contract (ERC20) load using etherscan & translate it to native Python binding (default output to console)\nethbinductor abi2py --cls-name ERC20 --abi-provider etherscan 0xc3761eb917cd790b30dad99f6cc5b4ff93c4f9ea\n```\n\n##### Save Python bind into the file (more providers see in the sources & cli help)\n```bash\n# Contract (ERC20) load using etherscan & translate it to native Python binding (save to file)\nethbinductor abi2py --cls-name ERC20 --abi-provider etherscan 0xc3761eb917cd790b30dad99f6cc5b4ff93c4f9ea --output file examples/eth_erc20_bind.py\n```\n\nBind example of ERC20 you can see [here](https://github.com/BlackCatDevel0per/ETHBinductor/blob/main/examples/eth_erc20_bind.py) with usage [example](https://github.com/BlackCatDevel0per/ETHBinductor/blob/main/examples/erc20_test.py) but, first install base lib:\n```bash\npip install ethbind\n```\n\n##### TODO: Custom samples & providers (for example to use bscscan with your api key & etc.)\n\n[//]: # (TODO: Jinja2 sampling, [Optional] Pydantic type checks, other cli tools.. & rename some files..)\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "P4A Kivy/KivyMD Developer sample & tools.",
"version": "0.0.9",
"project_urls": {
"Documentation": "https://github.com/BlackCatDevel0per/ethbinductor",
"Homepage": "https://github.com/BlackCatDevel0per/ethbinductor",
"Repository": "https://github.com/BlackCatDevel0per/ethbinductor"
},
"split_keywords": [
"etherium",
" eth",
" code-gen",
" bind",
" translation",
" dev",
" ipfs",
" docs",
" tester"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "714e30f3a27372fc5b3b1897b2d2ea7abeb4b7d70a3c4128a44ac46b02f7be2f",
"md5": "a6373499bac2ff3aa1ae62cf345b2642",
"sha256": "c598893472269e83e657f3f478093fd86343502383d505a54278935d410d6c73"
},
"downloads": -1,
"filename": "ethbinductor-0.0.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a6373499bac2ff3aa1ae62cf345b2642",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8.1",
"size": 16087,
"upload_time": "2024-07-12T11:17:13",
"upload_time_iso_8601": "2024-07-12T11:17:13.940787Z",
"url": "https://files.pythonhosted.org/packages/71/4e/30f3a27372fc5b3b1897b2d2ea7abeb4b7d70a3c4128a44ac46b02f7be2f/ethbinductor-0.0.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d022d0fced880e9839110f6a2ef56612e8490b4bc0f1387f2cdf7998b591e25d",
"md5": "c9528e11721a4fe357522172c9c1f8b8",
"sha256": "844e41f71ddbe369d1cc476c9d42186a624aa4ed02f1abe0bd32f41ff9509b85"
},
"downloads": -1,
"filename": "ethbinductor-0.0.9.tar.gz",
"has_sig": false,
"md5_digest": "c9528e11721a4fe357522172c9c1f8b8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8.1",
"size": 13277,
"upload_time": "2024-07-12T11:17:15",
"upload_time_iso_8601": "2024-07-12T11:17:15.781112Z",
"url": "https://files.pythonhosted.org/packages/d0/22/d0fced880e9839110f6a2ef56612e8490b4bc0f1387f2cdf7998b591e25d/ethbinductor-0.0.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-12 11:17:15",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "BlackCatDevel0per",
"github_project": "ethbinductor",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "ethbinductor"
}