Note: virtualenv is a best practice for python, but installation can also be on a user/global level.
Install Databases
Note: Databases must be installed as root/sudo
MINT uses a local SQLite database which requires MySQL setup (running a MySQL server instance is not required). Assuming a Ubuntu 16.04. or later operating system, install:
apt-get install libmysqlclient-dev
Install bos-mint
Note: bos-mint should be installed as user
You can either install bos-mint via pypi / pip3 (production installation) or via git clone (debug installation). For production use install bos-auto via pip3 is recommended, but the Git master branch is always the latest release as well, making both installations equivalent.
cd ~
mkdir bos-mint
cd bos-mint
# create virtual environment
virtualenv -p python3 env
# activate environment
source env/bin/activate
# install bos-mint into virtual environment
pip3 install bos-mint
For debug use, checkout from GitHub (master branch) and install dependencies manually:
# basic mint configuration file
wget https://raw.githubusercontent.com/peerplays-network/bos-mint/master/config-example.yaml
mv config-example.yaml config-bos-mint.yaml
# modify config-bos-mint.yaml (add your own peerplays node and secret key)
Default configuration only requires the following:
# see bos_mint/config-defaults.yaml for explanation and all possible override values
secret_key: # enter some random string
allowed_assets:
- BTF
connection:
use: beatrice
beatrice:
node:
- # enter your node
2018-05-18 11:56:04,754 INFO : * Running on http://localhost:8001/ (Press CTRL+C to quit)
The above setup is basic and for development use. Going forward, a Witness may want to deploy UWSGI with parallel workers for the endpoint.
MINT is purposely run on localhost to restrict outside access. Securing a Python flask application from malicious break in attempts is tedious and would be an ongoing effort.
Important: Recommendation is to access it via a SSH tunnel or through VPN.
Example for SSH tunnel:
Assume bos-mint is running on a remote server accessible via 1.2.3.4 and you have login credentials via SSH (password or private key access). On the local machine that you'll be using to access MINT via a web browser open the tunnel:
-N : Do not send commands (if you need open ssh connections only for tunnelling)
-L : Port mapping (8080 port on your machine, 127.0.0.1:8001 - proxy to where MINT runs)
Now you can open mint in your browser using http://localhost:8080 address.
After starting MINT use your favourite desktop browser to access it and you'll be asked to enter your Witness key that will be stored encrypted in the local Peerplays wallet.
Note: MINT is not optimized for mobile use yet.
Development Use
For MINT development use checkout the latest repository from: