Skip to content
Reference implementation of Manta protocol
Python Jupyter Notebook Makefile Nix
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
certificates/root Renewed certificates and removed reference to old ones Sep 23, 2019
docs
manta
notebooks
tests
.gitignore Ignore documentation artifacts Feb 18, 2019
LICENSE.txt
MANIFEST.in
Makefile
Pipfile
Pipfile.lock
README.rst
mosquitto.conf
mypy.ini
requirements-dev.txt
requirements-docs.txt
requirements-tests.txt
requirements.txt
setup.cfg
setup.py
shell.nix

README.rst

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://appiapay.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:appiapay/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.

You can’t perform that action at this time.