Metadata-Version: 2.0
Name: Arky
Version: 0.4.1
Summary: Pythonic way to work with Ark.io EcoSystem.
Home-page: https://github.com/ArkEcosystem/arky
Author: Toons
Author-email: moustikitos@gmail.com
License: Copyright 2016-2017 Toons, Copyright 2017 ARK, MIT licence
Download-URL: https://github.com/ArkEcosystem/arky.git
Keywords: api,ARK
Platform: UNKNOWN
Classifier: Development Status :: 6 - Mature
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Requires-Dist: base58
Requires-Dist: docopt
Requires-Dist: ecdsa
Requires-Dist: pytz
Requires-Dist: requests
Requires-Dist: yawTtk

.. image:: https://github.com/Moustikitos/arky/raw/master/arky-logo.png
   :target: https://ark.io

Copyright 2016-2017 **Toons**, Copyright 2017 **ARK**, `MIT licence`_

Install
=======

Ubuntu / OSX
^^^^^^^^^^^^

Open a terminal and type :

``sudo pip install arky``

If you work with ``python3``

``sudo pip3 install arky``

>From development version

``sudo -H pip install git+https://github.com/ArkEcosystem/arky.git``

If you work with ``python3``

``sudo -H pip3 install git+https://github.com/ArkEcosystem/arky.git``

Windows 
^^^^^^^

Run a command as Administrator and type :

``pip install arky``

For development version

``pip install git+https://github.com/ArkEcosystem/arky.git``

Using ``arky``
==============

``arky`` relies on two major elements
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

**api package**

``api`` package allows developpers to send requests to the blockchain according
to `ARK API`_. For security reason only ``GET`` methods are implemented in
``api`` package.

>>> from arky import api
>>> api.use("ark")
>>> api.Account.getAccount("AUahWfkfr5J4tYakugRbfow7RWVTK35GPW")
{'account': {'balance': '2111396549423', 'secondSignature': 0, 'u_multisignatures': [], 'multisignat
ures': [], 'unconfirmedSignature': 0, 'address': 'AUahWfkfr5J4tYakugRbfow7RWVTK35GPW', 'publicKey': 
'02c232b067bf2eda5163c2e187c1b206a9f876d8767a0f1a3f6c1718541af3bd4d', 'unconfirmedBalance': '2111396
549423', 'secondPublicKey': None}, 'success': True}

More on ``arky.api`` ?

>>> help(api)

**core module**

>>> from arky import core
>>> from arky import api
>>> api.use("ark")

``core`` module allows developpers to access core functions.

>>> keys = core.getKeys("secret")
>>> keys.public.hex()
'03a02b9d5fdd1307c2ee4652ba54d492d1fd11a7d1bb3f3a44c4a05e79f19de933'
>>> keys.wif
'SB3BGPGRh1SRuQd52h7f5jsHUg1G9ATEvSeA7L5Bz4qySQww4k7N'
>>> core.getAddress(keys)
'AJWRd23HNEhPLkK1ymMnwnDBX2a7QBZqff'
>>> tx = core.Transaction(amount=100000000, recipientId="AQpqHHVFfEgwahYja9DpfCrKMyMeCuSav4")
>>> tx.sign("secret")
>>> tx.serialize()
{'recipientId': 'AQpqHHVFfEgwahYja9DpfCrKMyMeCuSav4', 'timestamp': 20832330, 'amount': 100000000, 'a
sset': {}, 'senderPublicKey': '03a02b9d5fdd1307c2ee4652ba54d492d1fd11a7d1bb3f3a44c4a05e79f19de933', 
'fee': 10000000, 'signature': '304402201dbf20a62d3411c6d000b691edf3ed50c34baa96b94dedf70e2d512b9f917
8250220475869560dd9740e2c324972be3cb2690e5fdd27b1cccf6dcd8fb325f52f8f25', 'type': 0, 'id': '16683123
258705133772'}
>>> api.sendTx(tx)

More on ``arky.core`` ?

>>> help(core)

Easy way to use ``arky``
^^^^^^^^^^^^^^^^^^^^^^^^

``python -m arky-cli``

>>> from arky import cli
@ark>>> cli.start()
### arky-cli v2.0 - [arky 0.2.1 embeded]
Available commands: escrow, network, delegate, account
hot@dark/ >

**Arky script**

Here is an example of arky script

::

  network use dark
  account link XxxxxxxXxxxXXxxxxXxxxxxxxXXxxxxx
  send 40% DTywx2qNfefZZ2Z2bjbugQgUML7yhYEatX

To launch it :

``python -m arky-cli /path/to/arky/script``

or

>>> from arky import cli
>>> cli.launch("path/to/arky/script")

**man pages**

`escrow command set`_

`network command set`_

`delegate command set`_

`account command set`_

For Developers
==============

Install requirements

``pip install -e .``

or

``pip install -r requirements.txt``

Authors
=======

Toons <moustikitos@gmail.com>

Support this project
====================

.. image:: https://github.com/ArkEcosystem/arky/raw/master/ark-logo.png
   :height: 30

Toons Ark address: ``AUahWfkfr5J4tYakugRbfow7RWVTK35GPW``

.. image:: http://bruno.thoorens.free.fr/img/bitcoin.png
   :width: 100

Toons Bitcoin address: ``3Jgib9SQiDLYML7QKBYtJUkHq2nyG6Z63D``

**Show gratitude on Gratipay:**

.. image:: http://img.shields.io/gratipay/user/b_py.svg?style=flat-square
   :target: https://gratipay.com/~b_py

**Vote for Toons' delegate arky**

Version
=======

**0.4.0**

+ cli commmand cleanup
+ Some minors correction about the whitespace, indentation for PEP8 specifications.
+ Removed some unused imports.
+ ``util`` pkg:
   * ``getTokenPrice`` improvements.
   * ``getArkFiatPrice`` implemented.
   * ``getArkPriceFromCryptoCompare`` implemented.
   * ``getArkPriceFromCryptoCompareBis`` implemented.
   * ``getAllCoinsFromCryptoCompare`` implemented.
   * ``getArkPriceFromBittrex`` implemented.
   * ``getArkPriceFromCryptopia`` implemented.
   * ``getArkPriceFromLitebit`` implemented.
   * ``getArkPriceFromCryptomate`` implemented.
+ ``test`` pkg:
   * All of the functions implemented inside the util pkg are tested.
+ ``misc`` pkg:
   * Fixed the ARK2USD and USD2ARK functions.

**0.3.1**

+ ``stick-arky`` released : bring all arky every where on your usb stick
+ ``kapu`` mainnet added
+ ``cli`` pkg:
   * arky-cli can now execute script
   * code tweak
   * ``input`` instead of ``getpass`` for secondsecret (encoding issue)
   * ``delegate`` module improvement
   * added ``network staking`` and ``network update`` command
+ ``ui`` pkg added: this is arky lite wallet
+ ``util`` pkg: ``coinmarketcap`` api update
+ ``api`` pkg: 
   * ``get`` method use different seed on each call
   * Fees values loaded from blockchain
   * Default timeout changed to 10s

**0.2.3**

+ ``core`` mod : 
   * `toonsbuf protocol`_ implemented
   * osx compatibility issue fix
+ ``cli`` can now execute arky scripts

**0.2.2**

+ pypi wheel universall fix
+ wiki updated
+ ``cli`` pkg:
   * added ``network wif`` command
   * added ``network browse`` command
   * fixed ``vote -d <delegate>`` behaviour
   * minor bugfixes and improvements
+ ``util.stats`` mod:
   * ``getHistory`` fix
   * added ``plot2D``
   * added ``getBalanceHistory``
   * added ``getVoteHistory``
+ ``api`` pkg:
   * improvement for ``postData`` and ``broadcastSerial``
   * added autoconf feature

**0.2.1**

+ ``cli`` pkg:
   * added network command set
   * added delegate command set
   * added account command set
+ ``api`` pkg:
   * only up-to-date peers selected for broadcasting

**0.2.0**

+ custom network configuration file added (``ark.net`` and ``dark.net`` available)
+ added ``cli`` pkg:
   * ``escrow`` module availabel
+ ``util`` pkg:
   * added ``stats`` module

**0.1.9**

+ ``api`` pkg:
   * minor bugfixes
   * offline mode added
   * better connection protocol

**0.1.8**

+ relative import fix for ``python 2.x``
+ updated testnet and devnet seeds
+ ``api`` pkg:
   * ``api.get`` improvement
   * ``api.use`` improvement, can now connect to a custom seed
   * ``api.broadcast`` improvement
   * multiple transaction requests enabled
+ ``core`` mod:
   * removed ``sendTransaction`` (use ``api.sendTx`` instead)

**0.1.7**

+ ``api`` pkg:
   * documentation (docstring)
   * added ``api.send_tx`` and ``api.broadcast``
   * ``api.get`` code improvement
   * bugfix on requests header ``port`` field value 
+ ``core`` mod:
   * removed ``checkStrictDER`` calls in ``core.Transaction.sign``

**0.1.6**

+ ``api`` pkg : improve peer connection

**0.1.5**

+ ``wallet`` mod : code improvement
+ ``util`` pkg : https bug fix in frozen mode
+ ``api`` pkg : update

**0.1.4**

+ first mainnet release

.. _MIT licence: http://htmlpreview.github.com/?https://github.com/Moustikitos/arky/blob/master/arky.html
.. _ARK API: https://github.com/ArkEcosystem/ark-api
.. _escrow command set: https://github.com/ArkEcosystem/arky/blob/master/wiki/escrow.md
.. _network command set: https://github.com/ArkEcosystem/arky/blob/master/wiki/network.md
.. _delegate command set: https://github.com/ArkEcosystem/arky/blob/master/wiki/delegate.md
.. _account command set: https://github.com/ArkEcosystem/arky/blob/master/wiki/account.md
.. _toonsbuf protocol: https://github.com/Moustikitos/AIPs/blob/master/AIPS/aip-8.md


