.. image:: https://github.com/aergoio/herapy/blob/develop/images/hera_py.jpg?raw=true
:target: https://github.com/aergoio/herapy/
======
herapy
.. image:: https://codecov.io/gh/aergoio/herapy/branch/master/graph/badge.svg
:target: https://codecov.io/gh/aergoio/herapy
.. image:: https://img.shields.io/pypi/v/aergo-herapy.svg
:target: https://pypi.python.org/pypi/aergo-herapy
.. image:: https://travis-ci.com/aergoio/herapy.svg?token=bxpJA7kPFExuJMq3sBNb&branch=master
:target: https://travis-ci.com/aergoio/herapy
.. image:: https://readthedocs.org/projects/aergo-herapy/badge/?version=latest
:target: https://aergo-herapy.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://pyup.io/repos/github/aergoio/herapy/shield.svg
:target: https://pyup.io/repos/github/aergoio/herapy/
:alt: Updates
HeraPy is a Python package for AERGO that provides the features below.
Features
- Communication with AERGO node
- Getting AERGO blockchain information
- Creating/Exporting/Importing an account
- Making and sending a transaction
- Deploying/Calling/Querying a smart contract
- Querying and prooving contract/account states
Install
Install the latest version in the Python Package Index <https://pypi.org/project/aergo-herapy/>
_
.. code-block::
pip install aergo-herapy
or, install locally
.. code-block::
git clone git@github.com:aergoio/herapy.git
cd herapy
make install
Run examples
After installing aergo-herapy, you can run examples
.. code-block::
make ex
The examples in the 'examples' directory connect the public Aergo testnet.
Build
Downloading HeraPy
Download HeraPy from this repository
.. code-block::
git clone git@github.com:aergoio/herapy.git
Installing Dependencies
.. code-block::
pip install -r requirements.txt
But, we recommend to use a virtual environment below.
Virtual Environment (Pipenv)
Using Pipenv, all dependencies will be installed automatically.
.. code-block::
pipenv shell
If you cleaned up and setup again,
.. code-block::
pipenv install
If you want to test or contribute, then do not forget '--dev' option
.. code-block::
pipenv install --dev
make test
Updating Protocol
If need to upgrade a protocol,
.. code-block::
make protoc
After this command, all protocol related source files will be generated if it's different.
Updating Aergo Configurations
If need to upgrade Aergo Configurations,
.. code-block::
make aergo-types
After this command, 'aergo/herapy/obj/aergo_conf.py' will be generated if it's different.
If occur the error message below
.. code-block::
ERROR: Cannot find 'AERGO_TYPES_SRC'
, find the source code 'aergo/config/types.go' and make this file path as an environment variable of 'AERGO_TYPES_SRC'
.. code-block::
export AERGO_TYPES_SRC=`find ~ -path '*/aergo/config/types.go' 2>/dev/null`
make aergo-types
Releases and Contributing
HeraPy follows a major release cycle of AERGO.
A minor release such as fixing bugs and errors are occasionally patched.
Please let us know if you encounter a bug by filling an issue <https://github.com/aergoio/herapy/issues>
_.
If you are planning to contribute a new feature, class, or function,
please open an issue <https://github.com/aergoio/herapy/issues>
_ and discuss with us.
We appreciate all contributions.
Documentation
https://aergo-herapy.readthedocs.io
License
HeraPy is MIT license as found in the LICENSE file.
Credits
This package was created with Cookiecutter_ and the audreyr/cookiecutter-pypackage
_ project template.
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _audreyr/cookiecutter-pypackage
: https://github.com/audreyr/cookiecutter-pypackage
=======
History
2.0.1 (2020-02-05)
- Add new Aergo Keystore support.
- Add 'add_raft_member', 'del_raft_member'
2.0.0 (2019-12-03)
-
Add 'transfer' API for simple token transfering
-
Add 'gas limit', 'fee delegation' and 'gas used' for 'TxResult' object
-
'Account' object encoding to/decoding from json data
-
Bug fix
- Exception for encoding 'TxResult' to the json type, because of 'tx_id'
1.3.3 (2019-11-05)
-
support TLS connection
-
Bug fix
1.2.7 (2019-10-21)
1.2.6 (2019-09-04)
1.2.5 (2019-08-26)
1.2.3 (2019-08-22)
-
support redploy tx type
-
support 'GetConfChangeProgress' protocol to find a state of 'changeCluster' system contract
-
support 'name' (string) address
-
support enterprise consensus info
-
Bug fix
- miss match a tx type in tx
0.12.2 (2019-03-21)
0.12.0 (2019-03-08)
-
Apply v0.12.0 protocol
-
Bug fix
- get a genesis block with a block height 0
0.11.0 (2019-02-20)
- Change the result type from the 'get_tx_result' function ('SmartContractStatus' --> 'TxResultStatus')
- Separate two function 'send_tx' and 'batch_tx' from the single 'send_tx' function for a single and multiple txs
- Open the 'generate_tx' function for helping a new transaction manually
- Support multiple proof queries with the array of Storage Keys
- Simplify verifying proof as the 'verify_proof' function from 'verify_inclusion' and 'verify_exclusion'
0.9.0 (2018-12-31)
- Fit for the public Aergo testnet.
- First public release on PyPI.
0.1.0 (2018-11-07)