Skip to content
/ nempy Public

High-level wrapper for working with cryptocurrencies of the NEM ecosystem

License

Notifications You must be signed in to change notification settings

denjas/nempy

Repository files navigation

NEMpy

tests build pypi python-ver license badge

High-level python wrapper for working with NEM cryptocurrencies ecosystem (only Symbol supported)

Implemented on the basis symbol project core sdk python library

Possibilities

  • Creating a wallet with profiles and accounts. Importing account by mnemonic.
  • Using a wallet to send funds, message (plain/encrypted), view activity history and balance
  • Blockchain monitoring via websocket
  • Ability to use all the above in third-party products and services

Getting Started

This is an example of how you can set up your project locally. For up and running the wrapper locally please follow the next simple example steps.

Prerequisites

To work with the project, you will need pipenv tool.

pip install pipenv

Installing

Install and update using pip:

pip install nem-py

A Simple Example

Attention!

The example below is intended to demonstrate the ease of use, but it is not secure! Use this code only on the NetworkType.TEST_NET

from nempy.user_data import AccountData
from nempy.engine import XYMEngine
from nempy.sym.network import NetworkType
from nempy.sym.constants import Fees

PRIVATE_KEY = '<YOUR_PRIVATE_KEY>'
PASSWORD = '<YOUR_PASS>'
account = AccountData.create(PRIVATE_KEY, NetworkType.TEST_NET).encrypt(PASSWORD)

engine = XYMEngine(account)
entity_hash, status = engine.send_tokens(recipient_address='TDPFLBK4NSCKUBGAZDWQWCUFNJOJB33Y5R5AWPQ',
                                         mosaics=[('@symbol.xym', 0.1), ],
                                         message='Hallo NEM!',
                                         password=PASSWORD,
                                         fee_type=Fees.SLOWEST)
print(status.name, status.value)

You can get funds for the balance for testing in the Faucet.

Additional documentation can be found here

Command-line interface (CLI)

You can get acquainted with the capabilities of the CLI interface here

Working with pipenv environment

  1. Clone the repository git clone https://github.com/denjas/nempy.git
  2. Go to the directory with the project cd nempy
  3. Install virtualenv package pip install pipenv
  4. Setting up a virtual environment pipenv install --dev
  5. Installing a nem-py package into the environment pipenv run pip install . or pipenv run pip install -e . for development mode.

Running CLI utility

pipenv run nempy-cli.py

Testing

Follow the previous steps to set up your environment.

Running tests pipenv run tests or pipenv run tests --cov=nempy to assess coverage

Version Numbers

Version numbers will be assigned according to the Semantic Versioning scheme. This means, given a version number MAJOR.MINOR.PATCH, we will increment the:

  1. MAJOR version when we make incompatible API changes,
  2. MINOR version when we add functionality in a backwards compatible manner, and
  3. PATCH version when we make backwards compatible bug fixes.