Pythonic way to work with Ark.io EcoSystem.
Project description
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
For Developers
Install requirements
pip install -e .
or
pip install -r requirements.txt
Support this project
Toons Ark address: AUahWfkfr5J4tYakugRbfow7RWVTK35GPW
Toons Bitcoin address: 3Jgib9SQiDLYML7QKBYtJUkHq2nyG6Z63D
Show gratitude on Gratipay:
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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.