Skip to main content

RaiBlocks Python RPC client for rai_node

Project description

https://travis-ci.org/dourvaris/raiblocks-python.svg?branch=1.0.0rc1 https://github.com/dourvaris/raiblocks-python/raw/master/coverage.svg?sanitize=true https://img.shields.io/pypi/pyversions/raiblocks.svg?style=flat-square https://img.shields.io/pypi/l/raiblocks.svg

This library contains a python wrapper for the RaiBlocks RPC server which tries to make it a little easier to work with by converting RPC responses to native python ones and exposing a pythonic api for making RPC calls.

Also included are utilities such as converting rai/xrb and interesting accounts

Installation

pip install raiblocks

RPC client

>>> from raiblocks import RPCClient
>>> rpc = RPCClient('http://localhost:7076')
>>> rpc.version()
{
    'rpc_version': 1,
    'store_version': 10,
    'node_vendor': 'RaiBlocks 9.0'
}
>>> rpc.peers()
{
    '[::ffff:75.171.168.5]:7075': 4,
    '[::ffff:108.44.38.183]:1032': 4
}

Conversion

>>> from raiblocks import convert
>>> convert(12, from_unit='XRB', to_unit='raw')
Decimal('1.2E+31')

>>> converter(0.4, from_unit='krai', to_unit='XRB')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: float values can lead to unexpected
precision loss, please use a Decimal or string
eg. converter('0.4', 'krai', 'XRB')

>>> convert('0.4', from_unit='krai', to_unit='XRB')
Decimal('0.0004')

Known Accounts / Constants

>>> from raiblocks import GENESIS_BLOCK_HASH
>>> GENESIS_BLOCK_HASH
'991CF190094C00F0B68E2E5F75F6BEE95A2E0BD93CEAA4A6734DB9F19B728948'
>>> from raiblocks import KNOWN_ACCOUNT_IDS
>>> KNOWN_ACCOUNT_IDS['xrb_1ipx847tk8o46pwxt5qjdbncjqcbwcc1rrmqnkztrfjy5k7z4imsrata9est']
'Developer Fund'
>>> from raiblocks import KNOWN_ACCOUNT_NAMES
>>> KNOWN_ACCOUNT_NAMES['Burn']
'xrb_1111111111111111111111111111111111111111111111111111hifc8npp'

Development

virtualenv venv
source venv/bin/activate
pip install -r requirements.txt -r test-requirements.txt
python setup.py develop

Tests

# regular
pytest

# coverage
./coverage

Docs

cd docs
make html

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

raiblocks-1.0.0rc5.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

raiblocks-1.0.0rc5-py2.py3-none-any.whl (4.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file raiblocks-1.0.0rc5.tar.gz.

File metadata

  • Download URL: raiblocks-1.0.0rc5.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for raiblocks-1.0.0rc5.tar.gz
Algorithm Hash digest
SHA256 6f75c24cac4e36530b95fe21c44763b2c3bd34099425c130901c2fb71500bc21
MD5 3a454f7216de6dedb91b7278cd88120d
BLAKE2b-256 b6cb97e3631bc2abea87052b5ad113e763f1f1f7ac9ee385f9c4e7fdf626d0b9

See more details on using hashes here.

File details

Details for the file raiblocks-1.0.0rc5-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for raiblocks-1.0.0rc5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a7a6e74818c133010343261f4e441d03dda80e0ba534b35ec8d372bb1c2a4251
MD5 53707b08ac76fa33dfcce3e62108763c
BLAKE2b-256 766385618424832117bdb784efd55d4e0a046161f5dd77f6145c4a337222326d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page