Nano cryptocurrency C library with P2PoW/DPoW support  1.0.0
Overview

myNanoEmbedded is a lightweight C library of source files that integrates Nano Cryptocurrency to low complexity computational devices to send/receive digital money to anywhere in the world with fast trasnsaction and with a small fee by delegating a Proof of Work with your choice:

  • DPoW (Distributed Proof of Work)
  • P2PoW (a Descentralized P2P Proof of Work)

API features

  • Attaches a random function to TRNG hardware (if available)
  • Self entropy verifier to ensure excelent TRNG or PRNG entropy
  • Creates a encrypted by password your stream or file to store your Nano SEED
  • Bip39 and Brainwallet support
  • Convert raw data to Base32
  • Parse SEED and Bip39 to JSON
  • Sign a block using Blake2b hash with Ed25519 algorithm
  • ARM-A, ARM-M, Thumb, Xtensa-LX6 and IA64 compatible
  • Linux desktop, Raspberry PI, ESP32 and Olimex A20 tested platforms
  • Communication over Fenix protocol bridge over TLS
  • Libsodium and mbedTLS libraries with smaller resources and best performance
  • Optmized for size and speed
  • Non static functions (all data is cleared before processed for security)
  • Fully written in C for maximum performance and portability

To add this API in your project you must first:

  1. Download the latest version.

    git clone https://github.com/devfabiosilva/myNanoEmbedded.git --recurse-submodules
  2. Include the main library files in the client application.

Initialize API

Function Description
f_random_attach() Initializes the PRNG or TRNG to be used in this API

Transmit/Receive transactions

To transmit/receive your transaction you must use Fenix protocol to stabilish a DPoW/P2PoW support

Examples using platforms

The repository has some examples with most common embedded and Linux systems

Credits

Author
Fábio Pereira da Silva
Date
Feb 2020
Version
1.0

References:

[1] - Colin LeMahieu - Nano: A Feeless Distributed Cryptocurrency Network - (2015)

[2] - Z. S. Spakovszky - 7.3 A Statistical Definition of Entropy - (2005) - NOTE: Entropy function for cryptography is implemented based on Definition (7.12) of this amazing topic

[3] - Kaique Anarkrypto - Delegated Proof of Work - (2019)

[4] - docs.nano.org - Node RPCs documentation