Metadata-Version: 2.1
Name: tronpytool
Version: 3.3.49
Summary: A Python API for interacting with Tron (TRX)
Home-page: https://github.com/iexbase/tron-api-python
Author: Shamsudin Serderov & Heskemo
Author-email: steein.shamsudin@gmail.com
License: MIT License
Keywords: tron tron-api tron-api-python iexbase cli sdk
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Python: >=3.6,<4
Description-Content-Type: text/x-rst
Requires-Dist: eth-abi (<3.0.0,>=2.0.0b6)
Requires-Dist: eth-account (==0.4.0)
Requires-Dist: base58 (<3.0.0,>=2.0.0)
Requires-Dist: ecdsa (<0.16,>=0.15)
Requires-Dist: eth-utils (<2.0.0,>=1.3.0)
Requires-Dist: eth-hash[pycryptodome] (<1.0.0,>=0.2.0)
Requires-Dist: trx-utils
Requires-Dist: hexbytes (<1.0.0,>=0.1.0)
Requires-Dist: requests (<3.0.0,>=2.16.0)
Requires-Dist: base58
Requires-Dist: ecdsa
Requires-Dist: attrdict
Requires-Dist: cytoolz (<1.0.0,>=0.9.0) ; implementation_name == "cpython"
Requires-Dist: toolz (<1.0.0,>=0.9.0) ; implementation_name == "pypy"
Provides-Extra: dev
Requires-Dist: coverage ; extra == 'dev'
Requires-Dist: pep8 ; extra == 'dev'
Requires-Dist: pyflakes ; extra == 'dev'
Requires-Dist: pylint ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Dist: mock ; extra == 'dev'
Requires-Dist: sphinx-better-theme (>=0.1.4) ; extra == 'dev'
Requires-Dist: click (>=5.1) ; extra == 'dev'
Requires-Dist: configparser (==3.5.0) ; extra == 'dev'
Requires-Dist: contextlib2 (>=0.5.4) ; extra == 'dev'
Requires-Dist: py-solc (>=0.4.0) ; extra == 'dev'
Requires-Dist: pytest (>=2.7.2) ; extra == 'dev'
Requires-Dist: sphinx ; extra == 'dev'
Requires-Dist: pdoc3 ; extra == 'dev'
Requires-Dist: sphinx-rtd-theme (>=0.1.9) ; extra == 'dev'
Requires-Dist: toposort (>=1.4) ; extra == 'dev'
Requires-Dist: urllib3 ; extra == 'dev'
Requires-Dist: wheel (>=0.31.0) ; extra == 'dev'
Requires-Dist: bumpversion ; extra == 'dev'
Requires-Dist: flaky (>=3.3.0) ; extra == 'dev'
Requires-Dist: hypothesis (>=3.31.2) ; extra == 'dev'
Requires-Dist: pytest (<4,>=3.5.0) ; extra == 'dev'
Requires-Dist: pytest-mock (==1.*) ; extra == 'dev'
Requires-Dist: pytest-pythonpath (>=0.3) ; extra == 'dev'
Requires-Dist: pytest-watch (==4.*) ; extra == 'dev'
Requires-Dist: pytest-xdist (==1.*) ; extra == 'dev'
Requires-Dist: setuptools (>=38.6.0) ; extra == 'dev'
Requires-Dist: tox (>=1.8.0) ; extra == 'dev'
Requires-Dist: twine (>=1.11.0) ; extra == 'dev'
Requires-Dist: tqdm ; extra == 'dev'
Requires-Dist: when-changed ; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mock ; extra == 'docs'
Requires-Dist: sphinx-better-theme (>=0.1.4) ; extra == 'docs'
Requires-Dist: click (>=5.1) ; extra == 'docs'
Requires-Dist: configparser (==3.5.0) ; extra == 'docs'
Requires-Dist: contextlib2 (>=0.5.4) ; extra == 'docs'
Requires-Dist: py-solc (>=0.4.0) ; extra == 'docs'
Requires-Dist: pytest (>=2.7.2) ; extra == 'docs'
Requires-Dist: sphinx ; extra == 'docs'
Requires-Dist: pdoc3 ; extra == 'docs'
Requires-Dist: sphinx-rtd-theme (>=0.1.9) ; extra == 'docs'
Requires-Dist: toposort (>=1.4) ; extra == 'docs'
Requires-Dist: urllib3 ; extra == 'docs'
Requires-Dist: wheel (>=0.31.0) ; extra == 'docs'
Provides-Extra: tester
Requires-Dist: coverage ; extra == 'tester'
Requires-Dist: pep8 ; extra == 'tester'
Requires-Dist: pyflakes ; extra == 'tester'
Requires-Dist: pylint ; extra == 'tester'
Requires-Dist: pytest-cov ; extra == 'tester'

===================
TRON API for Python
===================

A Python API for interacting with the Tron (TRX)

.. image:: https://img.shields.io/pypi/v/tronpytool.svg
    :target: https://pypi.python.org/pypi/tronpytool

.. image:: https://img.shields.io/pypi/pyversions/tronpytool.svg
    :target: https://pypi.python.org/pypi/tronpytool

.. image:: https://api.travis-ci.com/iexbase/tron-api-python.svg?branch=master
    :target: https://travis-ci.com/iexbase/tron-api-python

.. image:: https://img.shields.io/github/issues/iexbase/tron-api-python.svg
    :target: https://github.com/iexbase/tron-api-python/issues

.. image:: https://img.shields.io/github/issues-pr/iexbase/tron-api-python.svg
    :target: https://github.com/iexbase/tron-api-python/pulls

.. image:: https://api.codacy.com/project/badge/Grade/8a5ae1e1cc834869b1094ea3b0d24f78
   :alt: Codacy Badge
   :target: https://app.codacy.com/app/serderovsh/tron-api-python?utm_source=github.com&utm_medium=referral&utm_content=iexbase/tron-api-python&utm_campaign=Badge_Grade_Dashboard


------------

**A Command-Line Interface framework**

You can install it in a system-wide location via pip:

.. code-block:: bash

    sudo pip3 install tronpytool

Or install it locally using `virtualenv <https://github.com/pypa/virtualenv>`__:

.. code-block:: bash

    virtualenv -p /usr/bin/python3 ~/tronpytool
    source ~/tronpytool/bin/activate
    pip3 install tronpytool

------------

Usage
=====
Specify the API endpoints:


Smart Contract
--------------

.. code-block:: python

    from tronpytool import HttpProvider
    from tronpytool import Tron

    full_node = HttpProvider('https://api.trongrid.io')
    solidity_node = HttpProvider('https://api.trongrid.io')
    event_server = HttpProvider('https://api.trongrid.io')

    # option 1
    tron = Tron(full_node=full_node,
                solidity_node=solidity_node,
                event_server=event_server)

    # option 2
    tron_v2 = Tron()

    # option 3
    tron_v3 = Tron(
        default_address='TRWBqiqoFZysoAeyR1J35ibuyc8EvhUAoY',
        private_key='...'
    )

    # option 4
    tron_v4 = Tron().setNetwork('nile')

..

Base Example
------------

.. code-block:: python

    from tronpytool import Tron
    logging.basicConfig(level=logging.DEBUG, format="%(asctime)s - %(levelname)s - %(message)s")
    logger = logging.getLogger()

    tron = Tron().setNetwork("nile")

    account = tron.create_account()
    is_valid = bool(tron.trx.is_address(account.address.hex))

    logger.debug('Generated account: ')
    logger.debug('- Private Key: ' + account.private_key)
    logger.debug('- Public Key: ' + account.public_key)
    logger.debug('- Address: ')
    logger.debug('-- Base58: ' + account.address.base58)
    logger.debug('-- Hex: ' + account.address.hex)
    logger.debug('-- isValid: ' + str(is_valid))
    logger.debug('-----------')

    transaction = tron.trx.get_transaction('757a14cef293c69b1cf9b9d3d19c2e40a330c640b05c6ffa4d54609a9628758c')

    logger.debug('Transaction: ')
    logger.debug('- Hash: ' + transaction['txID'])
    logger.debug('- Transaction: ' + json.dumps(transaction, indent=2))
    logger.debug('-----------')

    # Events
    event_result = tron.trx.get_event_result('TGEJj8eus46QMHPgWQe1FJ2ymBXRm96fn1', 0, 'Notify')

    logger.debug('Event result:')
    logger.debug('Contract Address: TGEJj8eus46QMHPgWQe1FJ2ymBXRm96fn1')
    logger.debug('Event Name: Notify')
    logger.debug('Block Number: 32162')
    logger.debug('- Events: ' + json.dumps(event_result, indent=2))

More samples and snippets are available at `examples <https://github.com/iexbase/tron-api-python/tree/master/examples>`__.

Documentation
=============

Documentation is available at `docs <https://tronpytool-for-python.readthedocs.io/en/latest/>`__.


Donations
=============

TRON: TRWBqiqoFZysoAeyR1J35ibuyc8EvhUAoY



