Skip to main content

Nano (RaiBlocks) Python Library

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

This library contains a python wrapper for the Nano (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 nano-python

Documentation

https://nano-python.readthedocs.io/

RPC client

You can browse the available RPC methods list or check the RPC Client API documentation for examples of usage.

>>> import nano
>>> rpc = nano.rpc.Client('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 nano import convert
>>> convert(12, from_unit='XRB', to_unit='raw')
Decimal('1.2E+31')

>>> convert(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. convert('0.4', 'krai', 'XRB')

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

Known Accounts / Constants

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

Development

Setup

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

Running tests

# regular
pytest

# coverage
./coverage

Building docs

cd docs

# generate once
make html

# live building
make live

Making a release

vim CHANGELOG.rst # update changes

bumpversion [major|minor|patch]

python setup.py upload

Metadata

Release files for nano-python 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nano-python 2.0.1
File Size Uploaded Provenance
nano-python-2.0.1.tar.gz 22.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for nano-python 2.0.1
File Interpreter ABI Platform
nano_python-2.0.1-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 46.9 kB

Release files / nano-python-2.0.1.tar.gz

Download URL nano-python-2.0.1.tar.gz
Size 22.1 kB
Tags Source
SHA-256 checksum
How to use checksums
4daa67ab59d74084fb5b87daa0820d10389b86f57eac467f39a472bb6a081587
BLAKE2b-256 checksum
How to use checksums
97b1b121a00af66903728624f3258a4563ec151948ac6fa469cc5d495bc59786
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / nano_python-2.0.1-py2.py3-none-any.whl

Download URL nano_python-2.0.1-py2.py3-none-any.whl
Size 24.9 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
7a658f865ea18fe10e979ffffb9a16b0289de0b1fd6c237b26ce3f8f570e9e24
BLAKE2b-256 checksum
How to use checksums
db868e54f8a56043fd8f9050c9b613bc0d6a297006cd32eb5ed1fa6082d2c550
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for nano-python 2.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page