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.
Contents
To start working on manta-python
you must first checkout a copy of the
main repository:
$ git [email protected]:appiapay/manta-python.git $ cd manta-python
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.
The next thing to do is the creation of the Python virtual environment with some required packages. Simply execute:
$ make
- that will initialize the environment with a set of required packages
- print an help on the available targets
You must remember to activate the virtual environment before doing anything:
$ . venv/bin/activate
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.