Skip to content

mantaprotocol/manta-python

Repository files navigation

Welcome to manta-python

This repository contains the Python implementation of the Manta Protocol: it's a protocol to enable crypto coin transaction between POS (of any kind, hardware, vending machines, online), payment processors and wallets.

Communication takes advantage of the MQTT protocol and needs a proper configured broker to work.

More documentation can be found at https://mantaprotocol.github.io/manta-python, what follows are some instructions for the developer.

Installation

Primary repository

To start working on manta-python you must first checkout a copy of the main repository:

$ git git@github.com:mantaprotocol/manta-python.git
$ cd manta-python

Requirements

The code in this repository needs an MQTT broker to work correctly so if you plan to run the tests, you will be required of either install the mosquitto broker or use your own and modify the broker.start entry in the file tests/dummyconfig.yaml to false.

Task automation is achieved using GNU Make. It should be easily installable on every UNIX-like platform.

If you use Nix (it can be installed on GNU/Linux systems and macOS) all you need is to execute a single command:

$ nix-shell

and that will install mosquitto and GNU Make for you. In such case you should skip the following section.

Creation of the Python virtual environment

The next thing to do is the creation of the Python virtual environment with some required packages. Simply execute:

$ make
  1. that will initialize the environment with a set of required packages
  2. print an help on the available targets

You must remember to activate the virtual environment before doing anything:

$ . venv/bin/activate

Running the tests

To run the tests simply run the following command:

$ make tests

That will run the unit tests and the integration tests. Remember to always use it before committing.