Metadata-Version: 1.1
Name: neojsonrpc
Version: 0.1.1
Summary: A Python JSON-RPC client for the NEO blockchain.
Home-page: https://github.com/ellmetha/neojsonrpc
Author: Morgan Aubert
Author-email: morgan.aubert@zoho.com
License: MIT
Description-Content-Type: UNKNOWN
Description: NeoJsonRPC
        ##########
        
        **NeoJsonRPC** is a Python JSON-RPC client for the NEO blockchain. It implements the JSON-RPC
        methods of the API interface provided by NEO nodes (minus the methods requiring an opened wallet).
        The client also provides a high-level interface to invoke contract methods on the NEO blockchain.
        
        .. contents:: Table of Contents
            :local:
        
        Documentation
        =============
        
        Online browsable documentation is available at https://neojsonrpc.readthedocs.io.
        
        Requirements
        ============
        
        Python_ 3.4+, Requests_ 2.0+.
        
        Installation
        ============
        
        To install NeoJsonRPC, please use pip_ (or pipenv_) as follows:
        
        .. code-block:: shell
        
            $ pip install neojsonrpc
        
        Basic usage
        ===========
        
        The first step to interact with the NEO JSON-RPC interface is to initialize a ``neojsonrpc.Client``
        instance. The following examples respectively show how to get clients for the TestNet, the MainNet
        and an hypothetical local PrivNet:
        
        .. code-block:: python
        
            >>> from neojsonrpc import Client
            >>> testnet_client = Client.for_testnet()
            >>> mainnet_client = Client.for_mainnet()
            >>> privnet_client = Client(host='localhost', port='30333')
        
        Then you can easily call some of the `JSON-RPC methods <http://docs.neo.org/en-us/node/api.html>`_
        provided by NEO nodes. Here are some examples:
        
        .. code-block:: python
        
            >>> from neojsonrpc import Client
            >>> client = Client.for_testnet()
            >>> client.get_block_count()
            973369
            >>> client.get_contract_state('2c0fdfa9592814b0a938219e218e3a6b08615acd')
            {'author': 'foobar',
             'code_version': '0.3',
            # [...]
            }
        
        You can also invoke smart contract functions using the following methods:
        
        .. code-block:: python
        
            >>> from neojsonrpc import Client
            >>> client = Client.for_testnet()
            >>> result = client.invoke_function('34af1b6634fcd7cfcff0158965b18601d3837e32', 'symbol', [])
            {'gas_consumed': '0.217',
             'stack': [{'type': 'ByteArray', 'value': bytearray(b'TKN')}],
             'state': 'HALT, BREAK'}
            >>> # Another convenient way to do the same operation is as follows:
            >>> client.contract('34af1b6634fcd7cfcff0158965b18601d3837e32').symbol()
            {'gas_consumed': '0.217',
             'stack': [{'type': 'ByteArray', 'value': bytearray(b'TKN')}],
             'state': 'HALT, BREAK'}
        
        Authors
        =======
        
        Morgan Aubert (`@ellmetha <https://github.com/ellmetha>`_) and contributors_. See ``AUTHORS`` for
        more details.
        
        .. _contributors: https://github.com/ellmetha/neojsonrpc/contributors
        
        License
        =======
        
        MIT. See ``LICENSE`` for more details.
        
        
        .. _pip: https://github.com/pypa/pip
        .. _pipenv: https://github.com/pypa/pipenv
        .. _Python: https://www.python.org/
        .. _Requests: http://docs.python-requests.org/en/master/
        
Keywords: neo blockchain json-rpc json-rpc-client api
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
