/arky

Pythonic way to work with Ark.io

Primary LanguagePython

https://github.com/Moustikitos/arky/raw/master/arky-logo.png

Copyright 2016-2017 Toons, Copyright 2017 ARK, MIT licence

Install

Ubuntu

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'}

More on arky.core ?

>>> help(core)

Easy way to use arky

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

escrow command set

network command set

delegate command set : 1% mandatory fees on share command

account command set

Authors

Toons <moustikitos@gmail.com>

Support this project

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

Toons Ark address: AUahWfkfr5J4tYakugRbfow7RWVTK35GPW

http://bruno.thoorens.free.fr/img/bitcoin.png

Toons Bitcoin address: 3Jgib9SQiDLYML7QKBYtJUkHq2nyG6Z63D

Show gratitude on Gratipay:

http://img.shields.io/gratipay/user/b_py.svg?style=flat-square

Vote for Toons' delegate arky

Version

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