Skip to content
Python library for working with the NANO cryptocurrency protocol
Branch: master
Clone or download
Latest commit 1b3a770 Jun 18, 2019


image codecov Build Status image

A set of tools for handling functions related to the NANO cryptocurrency protocol.


  • Solve and verify proof-of-work
  • Create and deserialize legacy and universal blocks
  • Account generation from seed using the same algorithm as the original NANO wallet and NanoVault
  • Functions for converting between different NANO denominations
  • High performance cryptographic operations using C extensions (signing and verifying blocks, and generating block proof-of-work)
    • Proof-of-work generation supports SSE2, SSSE3, SSE4.1, AVX and NEON instruction sets for improved performance. The best supported implementation is selected at runtime with a fallback implementation with universal compatibility.
  • Backed by automated tests
  • Compatible with Python 3.6 and up
  • Licensed under the very permissive Creative Commons Zero license


You can install the library using pip:

pip install nanolib

nanolib requires a working build environment for the C extensions. For example, on Debian-based distros you can install the required Python header files and a C compiler using the following command:

apt install build-essential python3-dev


An online copy of the documentation can be found at Read the Docs.

You can also build the documentation yourself by running python build_sphinx.


The script comes with a few additional commands besides installation:

  • build_sphinx
    • Build the documentation in build/sphinx/html.
  • test
    • Run tests using pytest
  • speed
    • Run a benchmark testing the performance of various cryptographic operations used in the library.



You can’t perform that action at this time.